Недавно я добавил дополнительный сервер аутентификации, чтобы пользователи могли входить в систему, используя либо свой адрес электронной почты, либо имя пользователя, но, похоже, он разбивает django-social-auth, поскольку после включения его, когда я пытаюсь войти в систему через Facebook, я получаю сообщение Incorrect authentication service
Email auth backend breaks django-social-auth
код бэкенд является:
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
Я получил фрагмент кода Django snippets
Мои AUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'apps.members.backends.EmailBackend',
)
Интересно, я посмотрю, поможет ли этот совет. Хотя я уже перешел на [Django Email Auth] (https://github.com/strange/django-email-auth) –
, это предложение не помогло , но спасибо за помощь ... на данный момент я просто буду отмечать ваш ответ как ответ. Я все еще приложение e-mail-auth работает нормально ... если оно не сломано, не связывайтесь с ним –