所以我使用django-allauth,即使我之前发现有一篇指向configuration settings的帖子,用于设置电子邮件验证设置,也似乎对我不起作用。
使用他们的Facebook帐户登录后,用户重定向到电子邮件验证表单,我希望他们登录并重定向到其个人资料页面。
我有以下设置;
ACCOUNT_USER_MODEL_USERNAME_FIELD = None
ACCOUNT_EMAIL_REQUIRED = True
ACCOUNT_USERNAME_REQUIRED = False
ACCOUNT_AUTHENTICATION_METHOD = 'email'
ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
ACCOUNT_FORMS = {
'signup': 'app.users.forms.CustomSignupForm',
}
SOCIALACCOUNT_PROVIDERS = {
'facebook':
{'METHOD': 'oauth2',
'SCOPE': ['email','public_profile'],
'AUTH_PARAMS': {'auth_type': 'reauthenticate'},
'EXCHANGE_TOKEN': True,
'LOCALE_FUNC': lambda request: 'nl_NL',
'VERIFIED_EMAIL': True,
'VERSION': 'v2.4'}
}
SOCIALACCOUNT_EMAIL_VERIFICATION = 'none'
即使我知道Facebook用户有可能拥有一个没有经过验证的电子邮件地址的帐户,但我仍然希望Facebook用户使用其Facebook帐户登录后能够自动登录。
python == 3.7
django == 2.1.3
django-allauth == 0.38.0
答案 0 :(得分:0)
古老的问题,但是如果有人遇到相同的问题,则解决方案非常简单。您只需将SOCIALACCOUNT_EMAIL_VERIFICATION = 'mandatory'
添加到settings.py文件中。
此外,如果您设置了ACCOUNT_EMAIL_VERIFICATION = 'mandatory'
,则社交帐户验证也将自动设置为“强制性”。
https://django-allauth.readthedocs.io/en/latest/configuration.html(在页面末尾)