【问题标题】:social auth app django integrity error when user is logged out用户注销时社交身份验证应用程序 django 完整性错误
【发布时间】:2019-01-12 13:48:32
【问题描述】:

我正在尝试将 facebook 登录集成到我的应用中。当我将 facebook 帐户与用户关联然后注销时,使用 facebook 的登录按预期工作。但是如果用户断开了他的 facebook 并且当我单击使用 facebook 登录时,我在以下位置收到完整性错误:

IntegrityError at /oauth/complete/facebook/
duplicate key value violates unique constraint "accounts_user_email_key"
DETAIL:  Key (email)=() already exists.

我正在使用 social-auth-app-django

在我的 settings.py 中,我有:

DEFAULT_AUTH_PIPELINE = (
'social_core.pipeline.social_auth.social_details',
'social_core.pipeline.social_auth.social_uid',
'social_core.pipeline.social_auth.auth_allowed',
'social_core.pipeline.social_auth.social_user',
'social_core.pipeline.user.get_username',
'social_core.pipeline.mail.mail_validation',
'social_core.pipeline.social_auth.associate_by_email',
'social_core.pipeline.user.create_user',
'social_core.pipeline.social_auth.associate_user',
'social_core.pipeline.social_auth.load_extra_data',
'social_core.pipeline.user.user_details'
)

【问题讨论】:

    标签: django python-social-auth


    【解决方案1】:

    重新排序管道就可以了!:

    SOCIAL_AUTH_PIPELINE = (
    'social_core.pipeline.user.get_username',
    'social_core.pipeline.mail.mail_validation',
    'social_core.pipeline.social_auth.social_uid',
    
    'social_core.pipeline.social_auth.associate_user',
    'social_core.pipeline.social_auth.load_extra_data',
    'social_core.pipeline.user.user_details',
    'social_core.pipeline.social_auth.social_details',
    'social_core.pipeline.social_auth.auth_allowed',
    'social_core.pipeline.social_auth.social_user',
    

    )

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-11-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      • 2016-08-04
      相关资源
      最近更新 更多