django-social-auth django-registration和django-profiles - 在一起

Sac*_*hin 20 django django-registration django-socialauth

有没有人一起使用django-social-auth,django-registrationdjango-profiles.他们一起工作得好吗?我已经建立了社交认证,但我在某处读到django-allauth更好.我应该切换到那个吗?

请指教

更新:

我已经allauth在我的项目中使用它并且工作正常.您不需要使用django-registrationallauth,因为它集成在内.但是,我使用自定义用户配置文件,这是一个比...更好的选择django-profiles.

Tim*_*ony 34

它们可以很好地协同工作 - 我只是在前几天设置它(除了我不需要使用django-profiles,因为它很容易创建自己的).

  • 用户可以使用django-registration设置普通帐户(contrib.auth),该帐户会发送要确认的电子邮件 - 在数据库中创建用户名/电子邮件/密码.
  • 或者,他们可以使用twitter/facebook/google等直接登录,并使用虚拟密码(可能没有电子邮件)自动为他们创建contrib.auth用户.

一些要点和限制:

  • 使用社交媒体配置文件登录时,会自动创建contrib.auth.user.如果该用户名已经存在,则会附加一个UUID - 这很难看,django-social-auth似乎还没有解决这个问题 - 一个简单的解决方案是允许用户在注册后更改用户名.理想情况下,当您使用Twitter登录时,您有机会在将详细信息保存到数据库之前(而不是之后)优化您的详细信息
  • 类似地,设置了一个虚拟密码 - 这使得用户很难使用内置的django密码更改表重置密码,因为他们无法输入现有的密码(因为它设置为不可用的字符串)
  • 您需要考虑注册Twitter的用户何时想要将他们的Facebook帐户 - django-social-auth帐户关联起来,并且很容易通过一个帐户分配多个第三方登录
  • Twitter没有透露用户的电子邮件地址,因此您可能希望提示他们将其提供给您并将其保存到数据库中 - 这样做的问题是您需要验证它否定了使用社交的全部目的 - AUTH!

django-social-auth是一个伟大的项目,正在积极开发与谷歌集团的一个团队 ,总是最新的,所以我肯定会建议.它也很容易设置 - 只要确保你已经解决了你的登录流程,并且你知道使用它的潜在局限性

编辑:

这篇文章有点过时了

  • django-social-auth已成为python-social-auth
  • django-allauth:OP提到最近流行的django-allauth.我没有使用它,但它似乎是一个很好的替代身份验证,注册和配置文件.
  • 可配置的用户模型:Django 1.5 在模块中引入了可配置的用户模型,auth因此您现在可以编辑要为您的用户使用的字段(仅限电子邮件,无用户名等).如果您想要向用户添加类似于类似配置文件的信息而不必与另一个表连接(如使用django-profilesOneToOne与自定义配置文件模型的关系),这也很有用.

  • 其次,有关密码问题可以做些什么吗?你说我们可以将多个社交登录关联到同一个帐户吗?此外,由于我是Django的新手,我遇到了一些模板问题,你能指导我一些关于如何制作模板的好教程.或者,社交登录和本地注册的好登录形式应该是什么样的....还要感谢一下 (2认同)