Недавно я добавил дополнительный бэкэнд аутентификации, чтобы позволить пользователям входить в систему, используя либо свой адрес электронной почты, либо имя пользователя, но, похоже, он нарушает django-social-auth, так как после его включения при попытке войти через Facebook я получаю сообщениеIncorrect authentication service
Код бэкэнда:
class EmailBackend:
supports_object_permissions = False
supports_anonymous_user = False
supports_inactive_user = False
def authenticate(self, username=None, password=None):
if email_re.search(username):
try:
user = User.objects.get(email=username)
except User.DoesNotExist:
return None
else:
try:
user = User.objects.get(username=username)
except User.DoesNotExist:
return None
if user.check_password(password):
return user
return None
def get_user(self, user_id):
try:
return User.objects.get(pk=user_id)
except User.DoesNotExist:
return None
Я получил фрагмент кода от Фрагменты Джанго
Мои AUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'apps.members.backends.EmailBackend',
)