SAML SLO(单次注销)是不是从所有 SP(服务提供商)注销?

Posted

技术标签:

【中文标题】SAML SLO(单次注销)是不是从所有 SP(服务提供商)注销?【英文标题】:Does SAML SLO (Single Logout) logout from all SP (Service Provider)?SAML SLO(单次注销)是否从所有 SP(服务提供商)注销? 【发布时间】:2020-12-21 00:13:42 【问题描述】:

我们的 javaspring 应用程序 (sp) 允许客户端进行 SSO 集成。我们已计划引入 SLO(单次注销)作为安全审计要求的一部分。

我有疑问,如果我们的应用程序请求 SLO 到 idp,那么特定客户的所有其他打开的应用程序都会被注销?

我们不想让客户的其他应用程序因为我们的应用程序而被注销。

请多多指教。如果 SAML SLO 请求只会影响请求注销的唯一服务提供商或客户 SSO 登录的所有服务提供商?

【问题讨论】:

【参考方案1】:

通常单次注销 (SLO) 将从一个 SP 级联到 IdP,然后返回到其他 SP 上的所有相关子会话。根据您使用的 IdP,您可能能够控制它/更细粒度,但您必须小心不要让自己受到任何攻击(在孤立会话上)。

根据 SAML 规范,IdP 必须通知所有其他会话参与者。

查看https://medium.com/@BoweiHan/elijd-single-sign-on-saml-and-single-logout-624efd5a224 了解更多信息

【讨论】:

谢谢。您的意思是说子会话意味着,如果我的应用 ex.facebook 被客户在浏览器的多个选项卡中打开。你的意思是说这是子会话?只有我的应用程序完全从 idp 注销?如果我的客户使用 sso 同时打开不同的应用程序(如 gmail)不会受到影响?请多多指教。 否 - 如果您在多个选项卡中打开了一个应用程序,它们都共享同一个会话 我已经在 Okta SSO 页面上进行了检查,他们告诉他们不会关闭 SLO 请求的其他集成? help.okta.com/en/prod/Content/Topics/Apps/…. 我们是否有任何方法可以防止所有其他 sp 因我们应用程序发出的单个注销请求而被注销。 不,根据 SAML 规范,情况并非如此,IdP 必须通知所有其他会话参与者。

以上是关于SAML SLO(单次注销)是不是从所有 SP(服务提供商)注销?的主要内容,如果未能解决你的问题,请参考以下文章

ITfoxtec SAML 2.0 - 单次注销

SAML 2.0 单次注销问题 - IdP 应如何终止在不同用户代理中运行的 SP 会话?

WSO2 和 Spring SAML 单次注销问题

如何用passport-saml修复SLO,它在第一次注销时有效,但在以后的注销中不起作用

Spring SAML SSO 不共享会话

单点退出 SLO