Django-具有多个身份验证源的SSO-LDAP



我有一个在Django上运行的应用程序和一个错误跟踪器(redmine)
我希望两个应用程序上的用户都有相同的帐户
所以我决定在我的服务器上安装一个LDAP,并将我的应用程序插入

同时,在未来,我想让我的用户能够将他们的帐户与OAuth、OpenID(如谷歌、脸书…)连接起来

LDAP仍然是一个好主意吗?

这是平常的事吗?有多容易?

使用唯一的LDAP,您可以解决重复帐户问题,但无法获得SSO或SLO功能。Django和Redmine的Ldap插件易于配置,并且有很好的文档记录。OpenLdap服务器也是如此。

如果你在考虑未来,我认为一个很好的解决方案是设置一个SAML环境。

  • 使用simplesamlphp构建IdP并启用您想要的身份验证源:Facebook、Gmail、Ldap等

  • 使用djangosaml2为django添加SAML支持,并将其与IdP 连接

  • 使用此插件为Redmine添加SAML支持,并将其与IdP 连接

最后,你会得到一个基于SAML的系统,这是一个实际上正在使用谷歌和其他大公司的协议。

最新更新