Web applications 跨多个网站的透明单点登录

Web applications 跨多个网站的透明单点登录,web-applications,authentication,login,Web Applications,Authentication,Login,我有一个网站网络。其中一些作为子域,另一些作为域。我想为我的所有用户创建一个中心登录位置,比如他们可以登录的地方。我在所有网站上都有一个登录链接,用户可以单击该链接进行登录。如果他们登录一次,他们也应该透明地登录到所有其他站点。我还想让他们注销整个网络,如果他们注销在一个网站,我不想让他们返回到另一个网站时,他们去网络的其他网站。 有可能实施这一点吗?oAuth或OpenId能帮我吗?如何使用Django在Python中参考实现这样的解决方案?是否可以在不使用SSL的情况下安全地实现此功能?当用

我有一个网站网络。其中一些作为子域,另一些作为域。我想为我的所有用户创建一个中心登录位置,比如他们可以登录的地方。我在所有网站上都有一个登录链接,用户可以单击该链接进行登录。如果他们登录一次,他们也应该透明地登录到所有其他站点。我还想让他们注销整个网络,如果他们注销在一个网站,我不想让他们返回到另一个网站时,他们去网络的其他网站。
有可能实施这一点吗?oAuth或OpenId能帮我吗?如何使用Django在Python中参考实现这样的解决方案?是否可以在不使用SSL的情况下安全地实现此功能?

当用户成功登录后,将自动发送表单登录到他接下来看到的页面上针对iFrame的所有其他站点。
或者,如果会话id在所有域中都有效,则将他看到的页面上的图像放在指向“domain5.example.org/setcookie?cookie=65277af767fea”等URL的旁边,这些URL返回设置的cookie头。

这是一个如何工作的示例。当Wikipedia(en.Wikipedia.org)编辑器登录时,图像将从Wikipedia的姊妹站点加载,如Wiktionary(en.Wiktionary.org)、Wikinews(en.Wikinews.org)和其他站点。图像的URL包含作为令牌的查询字符串,以证明用户已登录,这样,服务器可以在其需要的所有主域上设置cookie(与广告网络的用户跟踪类似)


如果你想在维基百科上看到它的运行,请创建一个帐户。提示:Wikipedia有许多不同语言的网站,但它只需要为自己设置一个cookie,因为所有不同的语言都是同一个域(Wikipedia.org)下的子域。

你能更详细地解释一下吗?我很担心,因为这显示了一个相当大的解决方案。@Shubh:这是另一种方式,但我认为你不必这么复杂。这种方法有什么缺点吗?我很担心,因为它显示了一个相当大的解决方案。一个是Safari附带了一个保守的cookie策略。在该浏览器中,用户可能需要分别登录每个站点(尽管可以使用相同的用户名/密码)。