我很好奇对此的最佳实践共识是什么:对于 SAML 2.0 SLO,服务提供商的会话超时是否应该触发 IDP 帐户的单点注销?规范是否说明了这一点?
--
用例子来说明问题:
我们将调用服务提供商 MyApp,将身份提供商称为 Microsoft Entra,并且此 SSO 集成已配置单点注销。
我通过 SSO 使用我的 Microsoft 帐户登录 MyApp。
-当我登录 MyApp 然后在 MyApp 中单击“注销”时,我会从 MyApp 和我的 Microsoft 帐户中注销,正如预期的那样。
-当我登录 MyApp 且处于非活动状态 X 分钟时,我达到 MyApp 的会话超时并从 MyApp (SP) 注销。 ...这是否也会导致我退出我的 Microsoft 帐户 (IDP)?
答案是这完全取决于您的要求。
假设您的服务提供商是一家在线商店,而您的身份提供商是 Google,这是很常见的情况。然后想象一下在线商店的不活动使您(作为用户)退出您的 Google 帐户。
听起来很奇怪。
另一方面,如果您同时控制服务和身份提供者,并且这两个组件形成更大的异构环境,则可能需要立即终止所有模块的所有会话。
我认为 SAML 与此要求无关。将 SAML 替换为任何 SSO 协议,但问题仍然悬而未决。
根据我的经验,我从未遇到过这样的要求,尽管我曾在由多个服务及其身份提供商组成的多个生态系统中工作过。当然,这并不意味着什么,只是表明这种情况可能不常见。
如果没有要求,你可以随意做。