相关疑难解决方法(0)

Django allauth社交登录:使用注册的电子邮件自动链接社交网站配置文件

我的目标是为我的Django站点的用户创建最简单的登录体验.我想象的是:

  1. 登录屏幕显示给用户
  2. 用户选择使用Facebook或Google登录
  3. 用户在外部站点输入密码
  4. 用户可以作为经过身份验证的用户与我的网站进行互动

好的,这部分很简单,只需安装django-allauth并进行配置即可.

但我也想提供与本地用户一起使用该网站的选项.它还有另一个步骤:

  1. 登录屏幕显示给用户
  2. 用户选择注册
  3. 用户输入凭据
  4. 网站发送验证邮件
  5. 用户点击电子邮件链接,可以作为经过身份验证的用户与我的网站进行互动

好的,默认身份验证和allauth都可以做到.但现在是百万美元的问题.

如果他们更改登录方式,我该如何自动关联他们的Google,FB和本地帐户?

看到他们登录的方式,我有他们的电子邮件地址.是否有可能使用django-allauth?我知道我可以通过用户干预来做到这一点.今天,默认行为是拒绝登录,说明电子邮件已经注册.

如果不可能只进行配置,我会接受答案,这个答案给出了我应该在allauth代码中进行哪些修改以支持此工作流程的方向.

有很多理由这样做.用户将忘记他们用于进行身份验证的方法,有时会使用Google,有时使用FB,有时还会使用本地用户帐户.我们已经有很多本地用户帐户和社交帐户将是一个新功能.我希望用户保持自己的身份.我设想可以询问用户好友列表,所以如果他们使用Google登录,我也想拥有他们的FB帐户.

这是一个业余爱好网站,没有很好的安全要求,所以请不要回答这不是一个明智的安全实施.

稍后,我将创建一个自定义用户模型,将电子邮件作为登录ID.但我会很满意答案,让我自动关联具有所需用户名的默认用户模型的帐户.

我正在使用Django == 1.5.4和django-allauth == 0.13.0

django django-1.5 django-allauth

38
推荐指数
3
解决办法
9701
查看次数

标签 统计

django ×1

django-1.5 ×1

django-allauth ×1