它不是明确的跨域会话,我正在寻找,但这是最简单的方式来解释它是什么,我想要的。
我有一个创建网站的系统。这些网站托管在许多不同的服务器上。
用户可以创建他们的帐户,然后他们可以创建许多网站。他们可以创造出
www.mysite.com subdomain.mysite.com并创建许多不同的站点。
有时,站点会彼此完全不同,但有时,这些站点实际上会如此紧密地联系在一起,以至于它们可能应该被认为是同一个站点。
例如:(完全不同的域名) mysite-news.com mysite-blog.com或者(相同的域名,不同的子域) news.mysite.com blog.mysite.com
我需要的是一种方式为用户在他们想要的,创建一个排序的联盟,这允许通过点击复选框,他们想要允许跨站点登录。我不能改变配置,除非它是一个永久的改变,不会影响其他网站,因为数以千计的网站将受到影响。
你认为支持这一点的最好方式是什么?OpenID,单点登录?
我需要一些简单的网站来创建一个‘联盟’,然后让他们的登录跨域。如果有人想加入,那么他们可以加入。
发布于 2010-02-20 04:01:47
OpenID提供了一些很好的特性,但不幸的是,您正在寻找的跨域行为不是您在标准OpenID实现中所能找到的。OpenID的主要设计原则之一是,在未经用户明确同意的情况下,提供商不会透露用户的任何信息*,因此任何声誉良好的OpenID提供商都不会在未经用户批准的情况下告诉mysite-news.com您已经登录到mysite-blog.com。
用技术术语来说,这里发生的事情是mysite-news.com和mysite-blog.com在概念上处于相同的安全“领域”,但OpenID通过网址模式来识别领域,而且由于它们位于不同的域,所以它们并不匹配。
这并不能给你带来你想要的用户体验。前面的一些答案很好地勾勒出了您在这里需要的系统类型:
简而言之,您将在login.mysite.com上设置某种身份验证服务来回答来自mysite-news.com和mysite-blog.com的查询。在这种情况下,仍然有几种方法可以利用OpenID。
祝好运。这是一个经常出现的问题,我还没有找到一个真正好的参考实现,我可以给人们指出,所以如果你找到了一些好的东西,请回来让我们知道。
最后是obligatory link to Matasano Chargen's screenplay on the subject。
*最近的Google Buzz惨败很好地提醒了我们,当你让用户惊讶于他们的信息被分享给了谁时,会发生什么。
发布于 2011-08-24 15:11:30
SSO只是一个概念/状态...这就是你要实现的目标。
OpenID适用于身份验证,也适用于来自多个站点的身份验证。它不会将身份验证信息从一个站点传递到另一个站点。
似乎是行业标准单点登录技术的IMO是oAuth。Facebook、Twitter、Google等都在使用它。
谷歌已经实现了OpenID和oAuth的混合协议,他们试图将其作为标准身份验证方法推送。Google提供了几乎与您提到的完全相同的联合登录解决方案。
从我对你提到的解释来看,你脑海中有一个解决方案,用户只需在他们的设置中勾选一个框,就可以在支持他们的帐户的任何地方登录……这违背了oAuth和OpenID背后的原则。我不知道目前的解决方案实际上是有价值的。
基本上,现在所做的不是使用OpenID提供的单一登录名单独连接到每个站点……您使用您的OpenID帐户登录到一个站点,您将被重定向到oAuth授权请求。这将允许oAuth服务器将来在该站点上对您进行身份验证,直到您使用使用该oAuth服务的OpenID帐户进行身份验证的权限被撤销为止。
发布于 2010-02-15 08:41:58
正如您所建议的,openId或单点登录都是合适的。
请看我2008年7月29日在http://groups.google.co.uk/group/comp.lang.php/browse_thread/thread/b682ed2a8b7fbb3f/f5f27f120e264fa0?hl=en&lnk=gst&q=single+sign+on+symcbean#f5f27f120e264fa0上的帖子12:50
有关如何实现SSO的示例,请参阅。
结果表明,C.
https://stackoverflow.com/questions/2261300
复制相似问题