Django中最好的OpenID解决方案是什么?

258 投票
6 回答
33678 浏览
提问于 2025-04-15 18:22

请注意:这是一个很久以前的问题,答案也比较老旧。现在大多数链接的应用程序都不再维护了。如今,大多数人似乎使用 django-allauthpython-social-auth。我会把原来的问题保留在下面,以便后人参考。


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

我试过其中几个。Simon Willison的django-openid给我留下了不错的印象,但因为他在Django界引领潮流,有时候我很难理解他的趋势(比如django-openid中的动态URL模式系统)。更糟糕的是,我无法让Google的登录功能正常工作。

django-authopenid给我留下了好印象,似乎与django-registration的集成也不错。django-socialauthdjango-socialregistration支持Twitter和Facebook,这绝对是个优点。谁知道Facebook什么时候会成为OpenID提供者呢?不过,socialauth似乎也有一些问题

那么,哪个OpenID应用程序是最好的呢?请分享你们的正面(和负面)经验。谢谢!

6 个回答

12

我比较喜欢使用django-authopenid,不过我觉得现在大部分成熟的解决方案差不多。尽管如此,我还是看到这个用得最多。我对它的使用做了一些小改动,但并没有去修改它的原始代码,这对我来说是个很大的优点。换句话说,它很容易进行自定义。

32

这个帖子最后的回复是在二月份,已经快8个月了,我相信很多事情都发生了变化。

我对Django-Socialauth非常感兴趣,因为它支持gmail、yahoo、facebook、twitter和OpenID。

我找到两个看起来比较新的分支:

https://github.com/uswaretech/Django-Socialauth

https://github.com/agiliq/Django-Socialauth

第二个分支最近有更新。

我想知道有没有人最近使用过这些分支?我在寻找一个最可靠的版本来用在我的网站上。

谢谢!

更新:目前最新的分支似乎是 omab/django-social-auth,这也是 pypi包所指向的。

87

对我来说,效果最好、更新最及时的就是在launchpad上的那个。

它和我已经在用的django.auth模块完美结合,毫无缝隙。

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

要获取一份副本,可以运行:

bzr branch lp:django-openid-auth

或者通过PyPI安装它。

pip install django-openid-auth

撰写回答