Django 第三方认证系统

3 投票
3 回答
5687 浏览
提问于 2025-04-16 04:33

我正在考虑使用一个第三方的认证系统来让用户登录(无论是新用户还是老用户)。就像StackOverflow那样验证用户身份。这种方式很好,因为我不需要自己处理认证的事情。我需要以下功能:

  1. 可以通过Google、Facebook、Twitter、Yahoo和OpenID等认证系统登录。
  2. 提供与默认的Django认证系统相同的用户登录功能,也就是说,@login_required装饰器应该可以正常工作。

似乎有一些Django应用声称可以解决这个问题。哪些应用比较好呢?例如:Django-SocialAuthdjango-openid-auth

3 个回答

-1

这些实际上是认证后端。

换句话说,你还是在使用django.contrib.auth,只不过是加载了一个扩展。

认证后端其实很简单,所以我建议你看看文档,然后看看代码是不是你能接受的(对于每一个后端的候选项)。

如果你害怕去修改你的代码,那就麻烦了。

1

如果你想要一个简单的东西,可以试试这个

5

如果你想要一个一站式的解决方案,我用过的 django-socialregistration 效果不错。它支持Twitter、Facebook和OpenID(像Google、Yahoo!等)的登录。

另一个选择是 JanRain Engage(以前叫RPX),它可以让你通过一个地方来登录所有主要的认证服务。还有一个第三方的 django应用可以用,但我对它的质量就不太清楚了。

撰写回答