Django的SSO解决方案

Django的SSO解决方案,django,openid,single-sign-on,Django,Openid,Single Sign On,我有几个Django网站,我想创建一个集中的身份验证提供者。身份验证提供程序站点将包含用户帐户,并且是用户详细信息和密码的唯一存储库。用户将登录到auth提供商网站,当他们第一次访问每个卫星网站时,将在该网站上创建一个帐户。对卫星站点的后续访问将导致它们被发送到身份验证提供商站点,以便首先登录。返回后,他们将自动登录到卫星站点。我唯一的困难是,身份验证提供商的站点将位于internet上,而卫星站点位于可访问internet的专用网络上的DMZ中。因此,卫星站点无法建立到身份验证提供程序的任何传

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

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

我看过OAuth2,但我认为它不适合我的需要。我目前正在阅读有关OpenID的文章,但我注意到有一条评论说卫星服务器与OpenID服务器联系,这在我的配置中是不可能发生的。当我说OpenID时,我的意思是我必须运行自己的服务器,因为我需要对用户进行100%的控制。还有其他我没有提到的解决方案可以满足我的需求吗


谢谢

你要找的基本上是SAML

不幸的是,我不知道有什么好的现成的开源解决方案

如果您正在寻找服务解决方案,我所在的公司(Stormpath)提供了一个实现这一点的库。它是免费使用的