请注意:这是一个有着古老答案的古老问题。大多数链接的应用程序现在都没有维护。如今,大多数人似乎都在使用django-allauth或python-social-auth。为了子孙后代,我将在下面保留最初的问题。


至少有6个Django应用程序为Django提供OpenID认证:

django-openid django-openid-auth 另一个django-openid-auth,它似乎已经死了 django-authopenid django-socialauth(也提供Twitter和Facebook账户的身份验证) django-socialregistration(也有Facebook和Twitter认证) django-openid-consumer, Simon Willison最初的django-openid的一个分支。似乎更适合简单的博客评论,而不是一个完整的注册工作流 django-social-auth

我和其中一些人玩过。Simon Willison的django-openid给我留下了很好的印象,但由于他走在django流行趋势的前沿,我有时很难理解他的趋势(例如django-openid中的整个动态urlpatterns系统)。更重要的是,我无法登录到谷歌工作。

Django-authopenid给人留下了很好的印象,它似乎与django-registration有很好的集成。django-socialauth和django-socialregistration支持Twitter和Facebook,这绝对是一个加分项。谁知道Facebook何时会成为OpenID提供商呢?不过,社交身份似乎也有自己的问题。

那么,最好的OpenID应用是什么呢?请分享任何积极的(和消极的)经历。谢谢!


当前回答

我更喜欢django-authopenid,但我认为大多数成熟的解决方案在这一点上是相当平等的。尽管如此,我还是看到人们使用得最多。我已经对如何使用它进行了一些定制,而不必真正地进行分叉,这在我的书中是一个巨大的优势。换句话说,它相当吸引人。

其他回答

对我来说效果最好的一个,似乎也是最新的一个,就是发射台的那个。

它与我已经使用django的应用程序无缝集成。身份验证模块。

https://launchpad.net/django-openid-auth

要运行副本:

bzr branch lp:django-openid-auth

或者通过PyPI安装

pip install django-openid-auth

你可以试试pinax

别忘了Elf Sternberg的django-socialauth分支——他正在努力清理他认为原始socialauth应用程序中很多糟糕的执行决策。到目前为止看起来很干净,但不清楚他的项目是否会有动力。

我更喜欢django-authopenid,但我认为大多数成熟的解决方案在这一点上是相当平等的。尽管如此,我还是看到人们使用得最多。我已经对如何使用它进行了一些定制,而不必真正地进行分叉,这在我的书中是一个巨大的优势。换句话说,它相当吸引人。

Django-socialauth对我有好处