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