使用Django实现单点登录(SSO)

tom*_*mrs 55 python django single-sign-on

我想使用Django为我们当前使用的多个应用程序实现单点登录(SSO).如何使用Django实现SSO?有没有可用于实施SSO的Django软件包?

请帮助谢谢

Mik*_*bov 13

看看django-cas-provider + django-cas-consumer(或django-cas)

  • 在这一点上,使用已经很多年没有被感动认证库似乎是一个坏主意,因为新的安全漏洞通常每年都有点亮和Django自带了新版本的事情被打破. (19认同)

S.L*_*ott 12

我们正在使用OpenAM. http://forgerock.com/openam.html

OpenAM Cookie意味着用户已通过身份验证.

对此的身份验证后端非常简单.低于50行代码.

https://docs.djangoproject.com/en/1.7/topics/auth/customizing/#other-authentication-sources

我们编写了一些代码,向OpenAM服务器发出RESTful请求以获取用户,组和角色信息.然后,我们使用角色来确定用户的授权.


Roc*_*ite 11

MamaCAS似乎是一个很好的解决方案.(在撰写本文时,它已经获得了104颗星.)

https://github.com/jbittel/django-mama-cas

MamaCAS是Django Central Authentication Service(CAS)单点登录和单点登出服务器.它实现了CAS 1.0,2.0和3.0协议,包括一些可选功能.

CAS是单点登录和单点注销Web协议,允许用户在一次提供凭据后访问多个应用程序.它利用安全票证,由服务器生成和验证的唯一文本字符串,允许应用程序在不直接访问用户凭证(通常是用户ID和密码)的情况下对用户进行身份验证.


kar*_*ikr 7

django-sso是一个非常整洁的包,实现单点登录


nu *_*est 5

Django Simple SSO是另一个。

https://github.com/aldryn/django-simple-sso

有关如何使用此仓库 的文章