次のコンポーネントがあります。
- RP-1(Ws-Fed、WIFで接続)
- RP-2 (SAML、Federation Provider で接続、実際には別の ADFS)
- MY-ADFS (プライマリ STS としての ADFS サーバー 2019)
- MY-IP (個別の ID プロバイダー Web サービス、Identity Server 4)
したがって、RP-1 (Ws-Fed) からサインアウト要求を行うと、単純な Ws-Fed Logout が ADFS への要求として形成されます。
https:/MY-ADFS/adfs/ls/ を取得します。
- wtrealm : https://RP-1.com/
- わ: wsignout1.0
- wreply : https://RP-1.com/logout/
次の ADFS は IP にリダイレクトします。
GET https://MY-IP/WsFederation
- わ: wsignout1.0
- wreply : https://MY-ADFS/adfs/ls/?redirectContextId=2dd581d2-6e02-4476-915b-a581e3c855d4
したがって、ユーザーは ADFS および IP からセッションをクリアします。- 予想通り。
ただし、ログアウト前に SAML RP への移行が行われ、SAML セッションがアクティブになった場合、ADFS の終了時に次のエラーが発生します。
MSIS7055:すべての SAML セッション参加者が適切にログアウトされたわけではありません。ブラウザを閉じることをお勧めします。
これを修正するために、SAML 証明書利用者信頼のログアウト エンドポイント (URL) を次のように構成しました。
https://RP-2/adfs/ls/ ?wa=wsignout1.0
POSTバインディング付き。これらの変更の後、エラーは消えました。しかし、ADFS はログアウトを IP にリダイレクトしなくなりましたが、代わりに SAML ログアウトを RP-2 にリダイレクトします。
投稿https://RP-2/adfs/ls/?wa=wsignout1.0
- SAMLRequest : PHNhbWxwOkxvZ291dFJl
その結果、IP に切り替える代わりに、RP-2 (ADFS も) のページにとどまり、終了が成功したと書かれています。ただし、ユーザーはまだ IP 側でアクティブなセッション (Cookie) を保持しています。
ここでいくつかの質問:
- ADFS が SAML アクティブ セッションで呼び出しのチェーンを変更する理由は明らかではありません。
- SAML ログアウト リダイレクトを除外する方法や、ADFS に強制的に IP へのログアウトを強制する方法も明確ではありません。