我有几个Django网站,我想创建一个集中的身份验证提供者。身份验证提供程序站点将包含用户帐户,并且是用户详细信息和密码的唯一存储库。用户将登录到身份验证提供商站点,当他们第一次访问每个附属网站时,将在该站点上创建一个帐户。对卫星站点的后续访问将导致它们被发送到身份验证提供商站点以首先登录。在返回时,他们会自动登录到卫星站点。我唯一的困难是,认证提供商的网站将在互联网上,而卫星网站在非军事区的私有网络上,可以访问互联网。因此,附属站点无法建立到身份验证提供程序的任何传出连接。
我仍然需要能够登录到卫星网站使用本地配置的管理员用户。
我看过OAuth2,但我认为它不符合我的需求。我目前正在阅读有关OpenID的文章,但我注意到一个评论说卫星服务器联系OpenID服务器,这在我的配置中是不可能发生的。当我说OpenID时,我的意思是我必须运行自己的服务器,因为我需要对用户进行100%的控制。有没有其他我还没有提到的解决方案来满足我的需求?
谢谢
发布于 2014-12-13 03:53:59
您正在寻找的本质上是SAML。
不幸的是,我不知道有什么好的现成的开源解决方案。
如果您正在寻找服务解决方案,我工作的公司(Stormpath)提供了一个可以做到这一点的库。它是免费使用的。https://github.com/stormpath/stormpath-django
https://stackoverflow.com/questions/25014824
复制相似问题