web-dev-qa-db-ja.com

ADFSSAMLシングルログアウト

パートナークレームプロバイダーとのシングルサインオン統合のために、依存パーティとしてADFSに接続されたWebアプリケーションを扱っています。すべてSAML経由です(WSフェデレーションではありません)。Webアプリは.NETであり、WIFSAML拡張機能を使用しています。これはすべてSSOで機能します。

動作しないのは、クレームプロバイダーへのシングルログアウトです。 WIF拡張機能を介した私のアプリは、SAMLログアウト要求を使用して https://adfs.example.com/adfs/ls に適切にリダイレクトし、ADFSは/ saml/redirect/sloresponseで私にリダイレクトします。 。それはすべて良いことですが、決して起こらないのは、クレームプロバイダー(SAML IDプロバイダー)へのアップストリームリダイレクトで、そこからログアウトすることです。クレームプロバイダーはSAMLメタデータでSingleLogoutServiceを公開し、クレームプロバイダーがSAMLをWebアプリと直接通信するときに機能します(途中にADFSはありません)。

質問:

  1. ADFSではアップストリームSAMLシングルログアウトはまったくサポートされていますか?オンラインで検索すると、そうではないという不可解なメモがいくつか見つかりましたが、明確な情報源を見つけることができません。

  2. ADFS 2.0にない場合、ADFS 2.1にありますか?必要に応じて、Windows2012にアップグレードできます。

  3. SAMLでない場合、ADFSはWSFederationを使用してこれを実行できますか?クレームプロバイダーの信頼と証明書利用者の信頼の両方で、両方のレッグをWSFする必要がありますか?

  4. まったく不可能な場合、推奨される回避策はありますか?たぶん、クレームプロバイダーに直接リダイレクトし、SAMLログアウト要求をADFSにプッシュしますか?

ありがとう!

5
Erik Mooney

少し遅れますが、誰かに役立つことを願っています。 NameIDには、ここで果たす役割があります。この引用は、「AD FS 2.0をサービスプロバイダーサンプルのSAML2.0 IDプロバイダーとして使用する」」のreadmeステップ3で見ましたか?

"注意:

・NameIdentifierクレームは、AD FSデフォルトで送信クレームに含まれていません。これは、クレーム変換ルールとして追加できます。これは、ログアウトが正しく実行されるために必要です。 "

パートナーIDPはNameIDを送信し、ADFSはNameIDをRPアプリに送信するように構成されましたか? IDPとRPSTSの両方がADFSであり、これが正常に機能する、まったく同じセットアップを構成しました。

この段階では、WIFSAML拡張機能のCTPはサポートされていないことに注意してください。これは本番環境ではないと思いますか?

Windows Server 2012 AD FS 2.1は、これが機能するために必要ではありません。アップグレードの決定に影響を与える可能性のある8.1サーバーリリースに含まれるいくつかの優れた追加機能がありますが:)

2
maweeras