电子邮件身份验证后端中断django社交身份验证

电子邮件身份验证后端中断django社交身份验证,django,authentication,django-socialauth,Django,Authentication,Django Socialauth,我最近添加了一个额外的身份验证后端,允许用户使用其电子邮件地址或用户名登录,但它似乎破坏了django social auth,因为启用它后,当我尝试通过Facebook登录时,我收到消息不正确的身份验证服务 后端的代码是: class EmailBackend: supports_object_permissions = False supports_anonymous_user = False supports_inactive_user = False

我最近添加了一个额外的身份验证后端,允许用户使用其电子邮件地址或用户名登录,但它似乎破坏了django social auth,因为启用它后,当我尝试通过Facebook登录时,我收到消息
不正确的身份验证服务

后端的代码是:

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
我从中得到了代码片段

我的身份验证\u后端:

AUTHENTICATION_BACKENDS = (
    'social_auth.backends.twitter.TwitterBackend',
    'social_auth.backends.facebook.FacebookBackend',
    'apps.members.backends.EmailBackend',
)

我已成功使用django social auth的电子邮件验证后端。我不记得我做过什么特别的工作,所以它可能是不明显的,以下是我在代码中看到的唯一区别:

我在
身份验证\u后端列表中首先定义了我的电子邮件后端,这在这里可能有一定的重要性


我没有定义任何
支持对象权限
支持匿名用户
支持非活动用户

有趣的是,我会看看这个提示是否有用。虽然我已经切换到了那个建议没有帮助,但谢谢你的帮助……现在我只把你的回答标记为答案。我仍然认为电子邮件验证应用程序运行良好…如果它没有损坏,请不要弄乱它