InfinityFree站点部署Google One-Tap遇403禁止错误求助
Google One-Tap在InfinityFree站点的403问题排查
我已在Javascript origins中添加了域名及站点名称,但通过JavaScript代码调用Google One-Tap时始终出现403 Forbidden错误。请问该功能在InfinityFree站点上是否可行?
我的代码如下:
<script src="https://accounts.google.com/gsi/client" async> </script> <script type="text/javascript"> google.accounts.id.initialize({ client_id: '***************', callback: handleCredentialResponse }); google.accounts.id.prompt((notification) => { console.log('notification:', notification); if (notification.isNotDisplayed() || notification.isSkippedMoment()) { // try next provider if OneTap is not displayed or skipped } }); </script>
错误截图:
设置截图:
Google One-Tap功能在InfinityFree站点上是可行的,出现403 Forbidden错误基本都是配置问题,你可以从以下几个方面排查:
- 严格匹配JavaScript Origins格式:必须填写完整的访问URL,包括协议(http/https),比如你的站点是
https://xxx.infinityfreeapp.com,就必须把这个完整地址加到Authorized JavaScript Origins里,不能只写域名,还要注意是否带www,要和实际访问的地址完全一致。 - 检查OAuth客户端类型:在Google Cloud控制台中,确保你创建的是「Web应用」类型的OAuth 2.0客户端ID,而不是其他类型(比如Android/iOS)。
- 协议一致性:如果你的站点用HTTPS访问,配置里的Origin必须是HTTPS;如果是HTTP,就填HTTP,InfinityFree现在默认提供HTTPS,优先用HTTPS的地址配置。
- 清除缓存重试:浏览器缓存的旧验证信息可能导致问题,用隐身窗口打开站点测试,或者清除浏览器的Cookie和缓存后再试。
- 确认API已启用:在Google Cloud控制台的API库中,搜索「Google Identity Services API」,确保该API已经启用,未启用的话会导致调用失败。
内容的提问来源于stack exchange,提问作者user3103982
相关产品推荐
相关产品推荐

