【问题标题】:Social auth django : Multiple Users conflict with same email idSocial auth django:多个用户与相同的电子邮件ID冲突
【发布时间】:2014-11-22 07:28:15
【问题描述】:

我正在使用 django social auth 进行社交登录。 如果用户使用 gmail id 注册,在他下次访问时使用 gmail 社交登录登录,则会为具有不同用户名但相同电子邮件 id 的同一用户创建两个用户。 现在,当用户尝试使用此 gmail id 登录时,会引发 MultipleObjectsReturned 错误。

有没有办法在登录时检查用户的电子邮件 ID,如果它已经存在,请将其与该用户关联。

【问题讨论】:

    标签: django django-socialauth


    【解决方案1】:

    您可能需要在 settings.py 文件中显示您提供的 PIPELINE。

    但是答案是:

    包括在'social_auth.backends.pipeline.associate.associate_by_email',等设置中

    【讨论】:

      【解决方案2】:

      在settings.py中添加:

      SOCIAL_AUTH_PIPELINE = (
          'social.pipeline.social_auth.social_details',
          'social.pipeline.social_auth.social_uid',
          'social.pipeline.social_auth.auth_allowed',
          'social.pipeline.social_auth.social_user',
          'social.pipeline.user.get_username',
          'social.pipeline.social_auth.associate_by_email',
          'social.pipeline.user.create_user',
          'social.pipeline.social_auth.associate_user',
          'social.pipeline.social_auth.load_extra_data',
          'social.pipeline.user.user_details',
      )
      

      【讨论】:

      • oh ko .. 我告诉过你要添加你的问题 .. !
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-03-30
      • 2014-06-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-09-09
      相关资源
      最近更新 更多