认证配置
cssaportal/settings.py 中 allauth:
SOCIALACCOUNT_ONLY = True:无邮箱密码注册表单SOCIALACCOUNT_LOGIN_ON_GET = True:访问登录 URL 直接跳 GoogleACCOUNT_EMAIL_VERIFICATION = "none"SOCIALACCOUNT_EMAIL_AUTHENTICATION = True:已有本地用户且 Google 邮箱已验证则自动绑定LOGIN_REDIRECT_URL = /accounts/profile/check/
accounts/urls.py 的 login/ 再包一层,保证始终走 Google。
环境
| 环境 | JavaScript origin | 回调 |
|---|---|---|
| 本地 | http://127.0.0.1:8000 | http://127.0.0.1:8000/accounts/google/login/callback/ |
| 生产 | https://portal.bucssa.org | https://portal.bucssa.org/accounts/google/login/callback/ |
改 SITE_URL 后必须再跑 setup_google_oauth。
首个管理员
accounts/signals.py:Google SocialAccount 保存后,若用户 email 等于 FIRST_ADMIN_EMAIL,调用 ensure_global_admin_membership。注释写明偏开发用途;生产更稳妥的是登录后再 create_admin。