最近、ユーザーが自分のメールアドレスまたはユーザー名を使用してログインできるように認証バックエンドを追加しましたが、有効にした後、Facebookからログインしようとすると、メッセージが表示されるため、django-social-authが壊れているようです。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
Djangoスニペットからコードスニペットを取得しました
私のAUTHENTICATION_BACKENDS:
AUTHENTICATION_BACKENDS = (
'social_auth.backends.twitter.TwitterBackend',
'social_auth.backends.facebook.FacebookBackend',
'apps.members.backends.EmailBackend',
)