使用 Django 的 OpenID 的最佳解决方案是啥? [关闭]
Posted
技术标签:
【中文标题】使用 Django 的 OpenID 的最佳解决方案是啥? [关闭]【英文标题】:What's the best solution for OpenID with Django? [closed]使用 Django 的 OpenID 的最佳解决方案是什么? [关闭] 【发布时间】:2011-01-08 13:33:10 【问题描述】:请注意:这是一个古老的问题,有着古老的答案。大多数链接的应用程序现在都没有维护。这些天来,大多数人似乎使用django-allauth 或python-social-auth。为了后代,我将在下面保留原始问题。
至少有六个 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 的一个分支。似乎比完整的注册工作流程更适合简单的博客 cmets django-social-auth我和他们中的几个一起玩。 Simon Willison 的django-openid 给人留下了很好的印象,但由于他在 Djangoland 中处于引领潮流的前沿,我有时很难理解他的趋势(例如 django-openid 中的整个动态 urlpatterns 系统)。而且,我无法登录以使用 Google。
django-authopenid给人留下了很好的印象,似乎和django-registration有很好的融合。 django-socialauth 和 django-socialregistration 支持 Twitter 和 Facebook,这绝对是一个加分项。谁知道 Facebook 是否以及何时开始成为 OpenID 提供商……?不过,socialauth 似乎有 its share of problems。
那么,最好的 OpenID 应用程序是什么?请分享任何积极(和消极)的经验。谢谢!
【问题讨论】:
django-social-auth by Matías Aguirre 是另一个,它作为一个项目在今天看起来非常活跃。除了 OpenId,它还支持所有主要的提供商(FB、Twitter、LinkedIn 等),支持用户数据填充和多个社交账户与单个用户的关联。 注意: django-social-auth 已重命名为 python-social-auth。 【参考方案1】:我更喜欢 django-authopenid,但我认为大多数成熟的解决方案在这一点上是相当的。不过,它是我看到使用最多的东西。我已经对我们如何使用它进行了一些自定义,而不必实际分叉它,这在我的书中是一个巨大的优势。换句话说,它相当容易上钩。
【讨论】:
【参考方案2】:你可以试试pinax
【讨论】:
是不是有点过分了?不过如果他只需要 openid,他可以看看 Pinax 选择了哪一个。【参考方案3】:django-socialauth 对我有好处
【讨论】:
【参考方案4】:已证明对我最有效且似乎最新的版本是启动板上的版本。
它与我已经使用 django.auth 模块的应用程序无缝集成。
https://launchpad.net/django-openid-auth
要获得副本运行:
bzr branch lp:django-openid-auth
或者通过 PyPI 安装它
pip install django-openid-auth
【讨论】:
谢谢!有没有说明书如何使用?我在启动板上没有找到它。 代码库bazaar.launchpad.net/~django-openid-auth/django-openid-auth/…中有一些示例以及Readme.txt中的安装指南 它在 pypi -> pip install django-openid-auth 在哪里可以找到文档 不幸的是它与 django 1.5 不兼容 - 渲染模板时会出错【参考方案5】:不要忘记 django-socialauth 的 Elf Sternberg's fork - 他正在努力清理他认为原始 socialauth 应用程序中的许多错误实施决策。到目前为止看起来很干净,但尚不清楚他的项目是否会有动力。
【讨论】:
【参考方案6】:此主题的最后一篇文章是在 2 月。已经快 8 个月了,我很确定很多事情都发生了变化。
我对 Django-Socialauth 非常感兴趣,因为它支持 gmail、yahoo、facebook、twitter 和 OpenID。
我发现了两个看起来是最新的分叉:
https://github.com/uswaretech/Django-Socialauth
https://github.com/agiliq/Django-Socialauth
此时第二个分支最近已更新。
我想知道最近是否有人使用过这些分叉?我正在为我的网站寻找最可靠的。
谢谢
更新:最新的分支似乎是omab/django-social-auth,这也是the pypi package 所指的。
【讨论】:
我已经使用pip install django-social-auth
让它工作了,它看起来与这个叉子很好地对齐:github.com/omab/django-social-auth。作为一个新手,最令人困惑的事情是理解如何将我的登录/错误模板与 socialauth url 和视图对齐。我提到的 fork 中的示例站点帮助很大。
django-social-auth
!= Django-Socialauth
,事实上,第一个是在对Django-Socialauth
感到沮丧数小时后创建的。
github.com/omab/django-social-auth 有一个较新的分叉
django-social-auth 现已弃用,取而代之的是 omab/python-social-auth以上是关于使用 Django 的 OpenID 的最佳解决方案是啥? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章
Auth Servers 的 openid 配置中 URL 的最佳实践(众所周知)