Django的身份验证应用程序

时间:2012-01-25 18:24:45

标签: django authentication

Django最好的身份验证应用是什么:

  • 具有可配置的必填字段,例如允许使用电子邮件作为用户名
  • 与其他身份验证API集成,例如Facebook,Twitter,Google
  • 密码恢复流程是可配置的,发送临时密码与恢复链接
  • 最好有邀请系统,因此可以控制注册过程

我认为没有任何具有所有这些功能,所以我正在寻找尽可能多的功能。但这些是几乎所有设计良好的Web服务应具备的功能。所以我不想重新发明轮子。

3 个答案:

答案 0 :(得分:32)

没有一个django软件包可以涵盖所有内容,而是有许多很棒的项目可以解决您提到的每个要求:

  • 一般身份验证django-auth - 这是django发行版的一部分,但需要加入
  • 社交身份验证django-social-auth - 将社交身份验证与默认的django-auth流程集成
  • 注册和密码django-registration - 添加注册流程,包括注册和电子邮件确认等。
  • 邀请系统django-invitation - 允许注册仅限于邀请
  • 个人资料django-profiles - 允许您使用个人资料扩展用户帐户

您还可以查看django-userena,它是django应用程序用户管理的新托管解决方案。我没有研究它是如何工作的或它有多全面,但看起来很有希望。

最后,看看其他身份验证应用程序的django包:

http://djangopackages.com/grids/g/authentication/

修改

这篇文章有点过时了

  • django-social-auth 已成为python-social-auth
  • django-allauth :还有另一款名为django-allauth的优秀多功能一体机应用。我没有广泛使用它,但我相信它会在一个应用程序中处理身份验证,社交认证,注册和个人资料
  • 可配置的用户模型:Django 1.5在auth模块中引入了configuratble User models,因此您现在可以编辑要为您的用户使用的字段(仅限电子邮件) ,没有用户名等)。如果您想要向用户添加类似个人资料的信息,而无需与其他表格相关联(例如您使用 django-profiles OneToOne与自定义个人资料的关系,这也很有用模型)

答案 1 :(得分:2)

以下是仅适用于Facebook身份验证包的官方比较

Facebook Authentication

答案 2 :(得分:0)

首先你必须安装social-auth-app-django:

pip install social-auth-app-django

然后将其添加到您的INSTALLED_APPS(在设置中)中,然后您必须使用以下步骤为您要启用的网络创建API密钥:

创建项目后,您将获得App ID和App Secret(不与任何人分享)然后添加这些ID&设置中的秘密并提供redirec有效网址以获取更多信息