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

使用Django allauth通过Google注册时遇“Access blocked”错误求助

解决Django AllAuth Google注册时"Access blocked: This app’s request is invalid"的问题

我之前踩过Google OAuth配置的不少坑,结合你遇到的情况,给你列几个最可能解决问题的排查方向:

1. 精准核对重定向URI(Redirect URIs)

这是最常见的出错点!你需要确保Google开发者控制台里「OAuth 2.0 客户端ID」的重定向URI,和Django AllAuth生成的回调地址完全一致:

  • 生产环境必须是 https://你的域名/accounts/google/login/callback/(注意末尾的斜杠不能丢,协议必须是HTTPS)
  • 本地测试的话,要加上 http://localhost:8000/accounts/google/login/callback/(端口号对应你本地服务的端口)
  • 别漏了把所有环境的URI都加进去,比如测试域名、生产域名都要配置。

2. 确认OAuth客户端类型与应用匹配

检查你在控制台创建的客户端类型:如果是Web应用,就不能选成桌面/移动应用类型——Web应用的重定向规则更严格,类型不匹配会直接导致请求无效。

  • 确保「已授权的域名」里添加了你的网站域名(包括localhost用于本地测试)
  • 如果你的应用是给外部用户使用(不是仅限你的Google Workspace内部账号),一定要在「测试用户」列表里添加测试邮箱,未通过审核的应用只能允许测试用户登录,否则外部用户会被拦截。

4. 清除缓存并重启服务

有时候旧的配置会卡在缓存里:

  • 重启Django服务器,确保新的HTTPS配置生效
  • 清除浏览器的Cookie和缓存,或者用隐身模式测试,避免旧的OAuth会话干扰

5. 验证AllAuth的配置参数

打开你的settings.py,检查Google provider的配置是否正确,尤其是这几个关键参数:

SOCIALACCOUNT_PROVIDERS = {
    'google': {
        'SCOPE': [
            'profile',
            'email',
        ],
        'AUTH_PARAMS': {
            'access_type': 'online',
        },
        # 开启PKCE流程,Google现在推荐这个,能解决不少请求有效性问题
        'OAUTH_PKCE_ENABLED': True,
    }
}

6. 确认必要的Google API已启用

在Google开发者控制台的「API和服务」里,确保People API或者Google+ API已经启用(AllAuth需要调用这些API来获取用户信息,未启用的话会导致请求失败)。

如果以上步骤都试过还是不行,可以补充一下控制台里重定向URI的具体配置、OAuth consent screen的设置细节,这样能更精准地定位问题~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.04 18:21:00