【问题标题】:Single Sign Out accross multiple domains跨多个域的单点注销
【发布时间】:2010-10-04 10:29:39
【问题描述】:

我知道发布了非常相似的问题和答案。我已经将它们用作参考,但我想在那里抛出一个特定的案例。一种跨多个域实现单点注销/单点注销的方法。

从我读到的看来,唯一的方法是使用服务器到服务器服务,即。通过在每次页面加载时验证用户是否有权访问 SSO 服务器来跟踪用户。

我所说的单点退出是指在多个站点上登录的用户可以通过单击链接从当前站点退出来退出(并且不会被重定向到所有其他站点上的退出页面)

我看过 OpenID 服务器,但我不相信它可以扩展来支持它。 SimpleSAMLphp 看起来是一个更好的选择。

讨论

【问题讨论】:

    标签: php single-sign-on


    【解决方案1】:

    您应该使用诸如 user1194_dj1kldkjawi1ljidsa (1194 - 用户 ID) 之类的会话标识符将会话数据存储在一些共享存储中,例如数据库/Memcache。因此,如果您需要在所有域上注销,您只需从会话存储中删除所有带有 user1194_* 等键的条目

    【讨论】:

    • 这也是我想出的,但我想知道为什么其他 SSO 提供商都没有使用相同的功能?谷歌、facebook、openid 等。有趣的是,谷歌使用了重定向和图像的结合,这些重定向和图像使用src= 在其他域上运行脚本。也许这是一个可能的答案。我不喜欢无法删除不属于当前用户的 PHP 会话。
    猜你喜欢
    • 2015-09-24
    • 1970-01-01
    • 2010-09-07
    • 2015-03-19
    • 2011-06-28
    • 2017-08-21
    • 2013-09-10
    • 2023-03-17
    • 2014-07-03
    相关资源
    最近更新 更多