您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

django-allauth社交帐户在登录时连接到现有帐户

django-allauth社交帐户在登录时连接到现有帐户

我设法通过稍微更改适配器的代码来使其工作。

adapter.py

from allauth.socialaccount.adapter import DefaultSocialAccountAdapter

class MySocialAccountAdapter(DefaultSocialAccountAdapter):
    def pre_social_login(self, request, sociallogin): 
        user = sociallogin.user
        if user.id:  
            return          
        try:
            customer = Customer.objects.get(email=user.email)  # if user exists, connect the account to the existing account and login
            sociallogin.state['process'] = 'connect'                
            perform_login(request, customer, 'none')
        except Customer.DoesNotExist:
            pass

如果是子类化DefaultSocialAccountAdapter,我们必须SOCIALACCOUNT_ADAPTER = 'myapp.my_adapter.MySocialAccountAdapter'settings.py文件中指定

Go 2022/1/1 18:42:33 有474人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶