を使用して 3 つの異なるサービスにアクセスしているユーザーがいるとしますSingle sign-on
。ログアウトをクリックすると、現在の SP とのセッションを識別して終了できます。
IdP
ここでは、他の 2 つのサービスからユーザーをログアウトする責任があります。私の質問は、残りの 2 つのサービスとのセッションを取得して終了する方法です。
を使用して 3 つの異なるサービスにアクセスしているユーザーがいるとしますSingle sign-on
。ログアウトをクリックすると、現在の SP とのセッションを識別して終了できます。
IdP
ここでは、他の 2 つのサービスからユーザーをログアウトする責任があります。私の質問は、残りの 2 つのサービスとのセッションを取得して終了する方法です。
Idp は、ログアウトするユーザーの sessionIndex を含む LogoutRequest を他の 2 つの SP に送信します。その後、SP は、自分の側でセッションを終了する責任があります。
SSO 中に、IDP は SAML アサーションを AuthnStatement を含む SP に送信します。この AuthnStatement の属性の 1 つは、IDP でユーザーのセッションを識別する SessionIndex です。
SLO の間、SP は、IDP が終了する必要がある (IDP を使用した) ユーザーのセッションを識別する SessionIndex を含む SAML ログアウト要求を送信します。次に IDP は、現在のユーザー セッションに参加している SP のリストを取得します。IDP は、これらの各 SP に SAML ログアウト要求を送信します。
これを行うために、IDP は現在のユーザー セッションに参加している SP (つまり、現在のユーザー セッション中に IDP によって発行された SAML アサーションを受信した SP) を追跡する必要があります。