跳到主要内容
版本:Current

认证配置

cssaportal/settings.py 中 allauth:

  • SOCIALACCOUNT_ONLY = True:无邮箱密码注册表单
  • SOCIALACCOUNT_LOGIN_ON_GET = True:访问登录 URL 直接跳 Google
  • ACCOUNT_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:8000http://127.0.0.1:8000/accounts/google/login/callback/
生产https://portal.bucssa.orghttps://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。