Lay*_*yke 4 php openid single-sign-on
它不是我正在寻找的显式跨域会话,但它是解释我想要的最简单的方法.
我有一个创建网站的系统.这些网站托管在许多不同的服务器上.
用户可以创建他们的帐户,然后他们可以创建许多网站.他们可以创造
www.mysite.com subdomain.mysite.com并创建许多不同的网站.
有时,网站将完全不同,但有时,网站实际上会如此紧密地联系在一起,以至于它们应该被认为是同一个网站.
例如:(完全不同的域名)mysite-news.com mysite-blog.com或(同域,不同的子域名)news.mysite.com blog.mysite.com
我需要的是为用户提供他们想要的方法,创建一个排序联合,允许通过单击复选框,允许他们允许跨站点登录.我不能更改配置,除非它是永久性的更改,不会影响其他网站,因为1000个网站将受到影响.
你认为最好的方法是什么呢?OpenID,SSO?
我需要一些对网站来说很简单的东西来创建一个"联合",然后允许他们的签名是跨域的.如果有人想加入,那么他们可以.
ket*_*urn 12
OpenID提供了一些不错的功能,但不幸的是,您正在寻找的跨域行为不是您在标准OpenID实现中可以找到的.OpenID的主要设计原则之一是提供者未经他们明确同意*不会透露任何有关用户的信息,因此任何声誉良好的OpenID提供商都不会告诉mysite-news.com您已经登录到mysite-blog .com没有要求用户批准.
[在技术方面,这里发生的事情是mysite-news.com和mysite-blog.com在概念上处于同一安全"领域",但OpenID通过URL模式识别领域,并且因为它们位于不同的域上不匹配.]
这并不能为您提供所需的用户体验.以前的一些答案可以很好地概述您需要的系统类型:
简而言之,您将在login.mysite.com上设置某种身份验证服务,以回答来自mysite-news.com和mysite-blog.com的查询.您还可以通过几种方式利用OpenID.
描述的重定向到登录和返回签名令牌流正是OpenID所做的.因此,您仍然可以使用OpenID实现来管理已签名的令牌和重放保护,您的客户端站点只需跳过OpenID的初始"发现"部分,并始终将用户重定向到login.mysite.com提供程序.并且login.mysite.com跳过了"我信任mysite-blog.com"的步骤,因为它是一个特殊用途的提供商,可以拥有自己一直使用的网站白名单.OpenID在这里纯粹是幕后花絮,用户永远不会知道OpenID是以某种方式参与进来的.
反过来,login.mysite.com可以使用OpenID来要求用户对他们的OpenID提供商进行身份验证(无论是谷歌或雅虎还是像myOpenID这样的专家).从那里它看起来像一个标准的OpenID登录,你会得到所有的好处,缺点是你的登录重定向链得到一点点(并相应地更慢).他们是休息.
祝好运.这是一个相当频繁出现的问题,我还没有找到一个非常好的参考实现,我可以指出人们,所以如果你找到好的东西,请回来告诉我们.
最后,与Matasano Chargen关于这个主题的剧本的强制性链接.
[*]最近的Google Buzz惨败是一个很好的提醒,当你让用户惊讶他们的信息共享对象时会发生什么.