php - 有人可以简要解释单点登录吗?我想使用 openid 作为 SSO

标签 php cross-domain single-sign-on

有人可以解释在基于 php 的网站上实现 SSO 时我应该遵循的步骤吗?例如,用户登录 www.siteA.com,当他访问 www.siteB.com 时,他应该已经登录了。(在我的例子中)。 siteB 如何识别用户?用户是否必须再次输入 openid?

最佳答案

看看Simple Single Sign-On for PHP .

OpenID 不是一回事。单点登录是关于在一个地方登录并在其他位置自动对您进行身份验证。 OpenID 是关于将身份验证委托(delegate)给 OpenID 提供商,这样您就可以使用一组凭据有效地登录到多个站点。

值得注意的是,StackOverflow 使用 OpenID 在不同站点之间关联用户。你是这个意思吗?因为那不是 SSO,因为您需要分别登录到每个站点。此外,一些 OpenID 提供商(尤其是 Google)在他们不向每个站点发送相同的标识符的意义上没有发挥作用,因此您无法知道每个站点上的 token 来自同一组凭据。

您可以使用 OpenID 作为 SSO 的身份验证方案,但这是偶然的。

关于php - 有人可以简要解释单点登录吗?我想使用 openid 作为 SSO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1307251/

相关文章:

javascript - iPad 用户代理检测

javascript - 如何在iFrame中访问DOM元素

javascript - 如何使用javascript ajax获取跨域的页面源

node.js - 请求的资源上不存在 'Access-Control-Allow-Origin' header - socket.io

api - 请求体必须包含以下参数 'client_id'

tfs - 团队系统 Web 访问 ADFS SSO

PHP 自定义函数作用域/良好实践

php - 如何自定义选择的数组顺序

php - 保存 HABTM 数据,同时使用 CakePHP 在相关表中创建新记录

authentication - 如何在 SAML 2.0 Web 浏览器 SSO 的 AuthnRequest 中识别主体