You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

@react-oauth/google集成Google OAuth2时origin授权失败问题排查

解决@react-oauth/google部署后出现"Given origin is not allowed"的问题

以下是可能导致该错误的常见排查方向:

  • Google Cloud配置未同步
    修改授权源后,Google的配置不会实时生效,通常需要等待5-10分钟甚至更久。另外注意origin的拼写细节:http://localhost:8000和http://localhost:8000/(末尾带斜杠)会被视为不同源,协议(http/https)也必须严格匹配。

  • 部署后实际访问地址与配置不匹配
    确认部署后React的实际访问地址:如果是Django托管静态文件且带子路径(比如http://xxx:8000/app),需要把完整路径加到Authorised JavaScript origins;生产环境用HTTPS的话,配置里的origin必须是https://开头,不能用http。

  • Client ID或Redirect URI配置错误
    检查GoogleOAuthProvider的clientId是否为生产环境的ID,别把开发环境的ID用到生产部署里。同时确认GoogleLogin的redirect URI和Google控制台配置的完全一致,开发时的localhost:3000回调要改成部署后的localhost:8000地址。

  • 浏览器缓存干扰
    浏览器可能缓存了旧的OAuth配置,导致请求仍用旧origin验证。试试清除浏览器缓存,或者用无痕模式测试,排除缓存问题。

  • Django静态文件路由问题
    如果Django托管React静态文件,检查STATIC_URL、STATIC_ROOT及Django URL路由配置,确保访问React页面的地址确实是你配置的授权origin,避免因前端路由或静态文件路径导致实际origin不符。

  • Google Cloud项目选错
    确认修改的配置是当前使用的client ID所在的项目,别不小心切换到其他项目,导致配置没加到正确的client ID上。

内容的提问来源于stack exchange,提问作者Ofir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 01:55:17