假设我们有一个用户正在使用Single sign-on
. 单击注销时,可以识别并终止与当前 Sp 的会话。
在这里,有责任IdP
将用户从其他两个服务中注销。我的问题是如何获得和终止与剩余两项服务的会话?
假设我们有一个用户正在使用Single sign-on
. 单击注销时,可以识别并终止与当前 Sp 的会话。
在这里,有责任IdP
将用户从其他两个服务中注销。我的问题是如何获得和终止与剩余两项服务的会话?
Idp 向其他两个 SP 发送一个 LogoutRequest,其中包含要注销的用户的 sessionIndex。然后,SP 负责终止他们一方的会话。
在 SSO 期间,IDP 向 SP 发送包含 AuthnStatement 的 SAML 断言。此 AuthnStatement 的属性之一是 SessionIndex,它标识用户与 IDP 的会话。
在 SLO 期间,SP 发送 SAML 注销请求,其中包含标识 IDP 必须终止的用户(与 IDP)会话的 SessionIndex。IDP 然后检索参与当前用户会话的 SP 列表。IDP 向这些 SP 中的每一个发送 SAML 注销请求。
为此,IDP 需要跟踪参与当前用户会话的 SP(即,在当前用户会话期间收到 IDP 发出的 SAML 断言的 SP)。