在我的项目中,我使用allauth
,在我的自定义LoginSerializer的validate
方法中:
if 'allauth' in settings.INSTALLED_APPS:
from allauth.account import app_settings
# Authentication through email
if app_settings.AUTHENTICATION_METHOD == app_settings.AuthenticationMethod.EMAIL:
user = self._validate_email(email, password)
# Authentication through username
if app_settings.AUTHENTICATION_METHOD == app_settings.AuthenticationMethod.USERNAME:
user = self._validate_username(username, password)
你看有app_settings.AuthenticationMethod.EMAIL
和app_settings.AuthenticationMethod.USERNAME
类型。你知道吗
我阅读了源代码,找到了:
还有另一种类型USERNAME_EMAIL
:
class AppSettings(object):
class AuthenticationMethod:
USERNAME = 'username'
EMAIL = 'email'
USERNAME_EMAIL = 'username_email'
我在哪里可以设置allauth使用AuthenticationMethod.USERNAME\u电子邮件?你知道吗
在
settings.py
中配置ACCOUNT_AUTHENTICATION_METHOD
它将工作:请小心,不要设置
AUTHENTICATION_METHOD
。你知道吗您可以在official document中找到更多详细信息。你知道吗
相关问题 更多 >
编程相关推荐