Google One Tap集成Django本地报错:给定源不被对应客户端ID允许
报错
[GSI_LOGGER]: The given origin is not allowed for the given client ID 本地排查解决步骤 - 第一步:等待配置生效
Google Cloud的Authorized JavaScript origins配置修改后不会即时生效,需要等待5~15分钟再测试,修改后立刻验证大概率会触发报错。 - 第二步:核对origin配置完全匹配
确保你填写的地址和实际访问的地址无任何差异:- 不要加末尾斜杠,比如
http://localhost:8000/是无效的,只能填http://localhost:8000 - 确认你实际访问的地址协议、域名、端口完全匹配配置值:如果你用
http://127.0.0.1:8000访问项目,需要把http://127.0.0.1:8000也加入配置;如果本地开了HTTPS代理,需要补充https://localhost:8000等对应HTTPS地址
- 不要加末尾斜杠,比如
- 第三步:核对客户端ID正确性
确认你前端代码中传入的Client ID,和你修改配置的Client ID for Web application的ID完全一致,不要错用其他项目、其他类型客户端的ID。 - 第四步:抓取实际请求的Origin值
打开浏览器控制台→Network面板,触发Google One Tap授权后,找到发往Google域名的授权请求,查看请求头中Origin字段的实际值,将该值原封不动复制到Authorized JavaScript origins配置中即可消除匹配问题。 - 第五步:排除缓存和Django配置问题
- 清理浏览器缓存或开启无痕模式测试,避免旧配置缓存导致报错
- 检查Django项目的
settings.py配置:ALLOWED_HOSTS需包含localhost、127.0.0.1,如果是前后端分离项目还要确保CORS_ALLOWED_ORIGINS包含你本地的访问地址。
内容的提问来源于stack exchange,提问作者Venus713
相关产品推荐
相关产品推荐

