Django 第三方认证系统
我正在考虑使用一个第三方的认证系统来让用户登录(无论是新用户还是老用户)。就像StackOverflow那样验证用户身份。这种方式很好,因为我不需要自己处理认证的事情。我需要以下功能:
- 可以通过Google、Facebook、Twitter、Yahoo和OpenID等认证系统登录。
- 提供与默认的Django认证系统相同的用户登录功能,也就是说,@login_required装饰器应该可以正常工作。
似乎有一些Django应用声称可以解决这个问题。哪些应用比较好呢?例如:Django-SocialAuth,django-openid-auth
3 个回答
-1
这些实际上是认证后端。
换句话说,你还是在使用django.contrib.auth,只不过是加载了一个扩展。
认证后端其实很简单,所以我建议你看看文档,然后看看代码是不是你能接受的(对于每一个后端的候选项)。
如果你害怕去修改你的代码,那就麻烦了。
1
如果你想要一个简单的东西,可以试试这个。
5
如果你想要一个一站式的解决方案,我用过的 django-socialregistration 效果不错。它支持Twitter、Facebook和OpenID(像Google、Yahoo!等)的登录。
另一个选择是 JanRain Engage(以前叫RPX),它可以让你通过一个地方来登录所有主要的认证服务。还有一个第三方的 django应用可以用,但我对它的质量就不太清楚了。