开发者社区> 问答> 正文

在对接telegram的时候,我想验证一下,InitData中的数据,但是一直都是失败的

飞机.png

展开
收起
kpj7lfqk7qrim 2023-06-16 14:05:22 288 0
1 条回答
写回答
取消 提交回答
  • 根据您提供的信息,您想要在对接 Telegram 时验证 InitData 中的数据。

    根据 Telegram 的文档,您可以按照以下步骤进行验证:

    1. 将 InitData 中的数据作为 query string 发送到您的后端服务中进行验证。
    2. 将所有接收到的字段按照字母顺序排序,并按照 "key=" 的格式拼接成一个字符串,每个字段之间使用换行符 "\n" 分隔。
    3. 使用 HMAC-SHA-256 算法,使用您的 Bot Token 作为密钥,对上一步拼接的字符串进行签名,得到一个签名值。
    4. 将签名值转换为十六进制字符串,并将其与收到的 hash 参数进行比较,如果相同,则表明数据来自 Telegram。
    5. 如果需要,您还可以检查 auth_date 字段,确保数据不过期。
    2023-06-16 14:20:55
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载