我有一个 Telegram 机器人,它设置为使用 Telegram webhook 机制,但是如何信任请求并知道它们是否来自 Telegram?
基于 Telegram 文档,我发现有两种方法:
- 将它们限制为 Telegam ip(这很脏,如果由于某种原因 Telegam 更改其 ip,我的机器人将关闭,所以它不是一个选项)
- 为 webhook 设置一个私有长 url,所以只有我的服务器和电报知道 url(我认为这不是保护我的 webhook 的足够好的解决方案,如果由于某种原因我的 url 泄漏,url 是公开的,每个人都可以假装他们是电报和发送虚假请求)
这两个是我发现的有什么我想念的吗?为什么 Telegram 不为其 webhook 提供像 OAuth2 这样的 rsa 公钥或像 Github 这样的可信令牌或签名?私人网址是否足以保证安全?