测试环境Telegram Login Widget提示‘Bot domain invalid’问题求助
解决测试环境下Telegram Login Widget本地运行的Bot域名无效问题
修正Bot域名配置
测试环境的域名校验逻辑和生产环境有区别,不要带默认端口号。直接通过测试环境的@BotFather把Bot的域名设置为127.0.0.1,而不是127.0.0.1:80——Telegram会忽略HTTP默认的80端口,带端口的配置会被判定为无效。用自定义本地域名绕过IP限制
本地IP可能在测试环境的校验中有限制,试试用hosts映射自定义域名:- 打开本地hosts文件:Windows路径是
C:\Windows\System32\drivers\etc\hosts,Linux/macOS是/etc/hosts - 添加一行:
127.0.0.1 local.tgtest.com - 把本地应用的访问地址改成
http://local.tgtest.com,再到测试环境BotFather里把域名设置为local.tgtest.com - 继续使用
https://tg.dev/js/telegram-widget.js?22的脚本,确保请求走测试环境的OAuth服务
- 打开本地hosts文件:Windows路径是
强制指定测试环境OAuth端点
给Widget添加data-origin参数,跳过脚本自动判断逻辑,直接指向测试环境的OAuth地址:
<script async src="https://tg.dev/js/telegram-widget.js?22" data-telegram-login="samplebot" data-size="large" data-auth-url="/auth" data-request-access="write" data-origin="https://oauth.tg.dev"> </script>
- 确认测试环境Bot状态
先在测试环境的Telegram客户端搜索你的Bot用户名samplebot,确认能找到并正常对话。如果搜不到,说明Bot没在测试环境成功注册,得重新通过测试环境的BotFather创建。
内容的提问来源于stack exchange,提问作者Davo
相关产品推荐
相关产品推荐

