我遇到了 SAML 2.0 single logout的问题。
我有一个 SAML 2.0 环境,其中有一个 IdP(身份提供者)和一个充当 SP(服务提供者)的 Web 应用程序。
作为用户,我在用户代理(浏览器)中启动 Web 应用程序会话。使用 IdP 对用户进行身份验证。
在不同的浏览器中(在同一台客户端机器上运行),我在同一个 Web 应用程序中以同一个用户的身份启动另一个会话,即在 SAML 方面的同一个 SP 中。
现在我有两个独立的 Web 应用程序会话,其中对同一用户进行身份验证。
然后,当我在其中一个浏览器中执行由 IdP 发起的单次注销时,IdP 仅发出一个注销请求,该请求终止在该浏览器中运行的会话。IdP 发出的注销请求的元素等于 IdP 在使用该浏览器(用户代理)发送到 SP 的断言的 AuthnStatement 的属性 SessionIndex 中发送的元素。
IdP 是否真的有必要为所有打开的会话发送注销请求以实现真正的“单次注销”?