Django的SSO解决方案

时间:2014-07-29 12:02:03

标签: django openid single-sign-on

我有几个Django网站,我想创建一个集中式身份验证提供程序。身份验证提供程序站点将包含用户帐户,并且是用户详细信息和密码的唯一存储库。用户将登录到auth提供商站点,当他们第一次访问每个卫星网站时,将在该站点上创建一个帐户。随后访问卫星站点将导致他们被发送到auth提供商站点以首先登录。返回时,它们会自动登录到卫星站点。我唯一的困难是,auth提供商网站将在互联网上,而卫星网站位于可访问互联网的私人网络上的DMZ中。因此,卫星站点无法与auth提供商建立任何传出连接。

我仍然需要使用本地配置的管理员用户登录卫星网站。

我查看了OAuth2,但我认为这不符合我的需求。我目前正在阅读OpenID,但我注意到卫星服务器与OpenID服务器联系的评论,这在我的配置中不会发生。当我说OpenID时,我的意思是我必须运行自己的服务器,因为我需要100%控制用户。还有其他我尚未提及的解决方案符合我的要求吗?

由于

1 个答案:

答案 0 :(得分:0)

您正在寻找的内容基本上是SAML。

不幸的是,我不知道有任何现成的开源解决方案。

如果您正在寻找服务解决方案,我在(Stormpath)工作的公司提供了一个可以执行此操作的库。它可以免费使用。 https://github.com/stormpath/stormpath-django