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

使用Django Social包实现Google登录时出现redirect_uri_mismatch错误

解决Django Social Google登录的redirect_uri_mismatch错误

这个问题在使用Django Social做第三方登录时很常见,核心原因就是Google OAuth控制台里配置的已授权重定向URI,和你的Django应用实际发送的回调地址不匹配。下面是具体的解决步骤:

1. 更新Google OAuth客户端的授权URI

  • 登录Google Cloud Console,找到你的项目,进入「API和服务」→「凭据」页面。
  • 定位到错误提示里对应的「OAuth 2.0 客户端ID」,点击编辑按钮。
  • 在「已授权的重定向URI」区域,添加这个地址:http://localhost:8000/oauth/complete/google-oauth2/
  • 点击「保存」后,记得等1-2分钟让配置生效(Google的配置偶尔会有缓存延迟)。

2. 确认Django配置的一致性

你当前settings.py里的LOGIN_URL、LOGIN_REDIRECT_URL这些是登录成功后的跳转路径,和OAuth回调URI无关。需要注意的是:如果你的项目自定义了SOCIAL_AUTH_GOOGLE_OAUTH2_REDIRECT_URI参数,必须保证它和Google控制台里填写的地址完全一致。默认情况下Django Social会用/oauth/complete/google-oauth2/作为回调路径,所以只要Google那边配置正确就没问题。

额外提醒

  • 如果是生产环境部署,要把localhost:8000替换成你的实际域名,比如https://yourdomain.com/oauth/complete/google-oauth2/
  • 一定要保证URI的协议(http/https)、域名、端口、路径完全匹配,哪怕多一个斜杠或者拼写错误都会触发这个报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:15:42