次の方法で共有


AD FS のトラブルシューティング - Fiddler - WS-Federation

AD FS と Windows Server フェデレーションの図

手順 1 と 2

これがトレースの開始です。 このフレームでは、次の内容が表示されます。

Fiddler トレースの開始

依頼:

  • 証明書利用者への HTTP GET (https://sql1.contoso.com/SampApp)

応答:

  • 応答は HTTP 302 (リダイレクト) です。 Response ヘッダーのトランスポート データには、リダイレクト先 (https://sts.contoso.com/adfs/ls) が表示されます。
  • リダイレクト URL には wa=wsignin 1.0 が含まれています。これは、RP アプリケーションが WS-Federation サインイン要求を作成し、これを AD FS の /adfs/ls/ エンドポイントに送信したことを示します。 これはリダイレクト バインドと呼ばれます。

応答ヘッダーのトランスポート データ

手順 3 と 4

継続 Fiddler トレース

依頼:

  • AD FS サーバーへの HTTP GET (sts.contoso.com)

応答:

  • 応答は、資格情報の入力を求めるプロンプトです。 これは、フォーム認証を使用していることを示します
  • 応答の WebView をクリックすると、資格情報プロンプトが表示されます。

資格情報プロンプトを示す応答の Web ビューのスクリーンショット。

手順 5 と 6

資格情報のプロンプト画面の [WebView] タブ

依頼:

  • ユーザー名とパスワードを使用した HTTP POST。
  • 資格情報を提示します。 要求の生データを調べることで、資格情報を確認できます

応答:

  • 応答は Found で、MSIAuth で暗号化された Cookie が作成されて返されます。 これは、クライアントによって生成された SAML アサーションを検証するために使用されます。 これは "認証 Cookie" とも呼ばれ、AD FS が Idp の場合にのみ存在します。

手順 7 と 8

HTTP Get 要求とその要求への応答を示す Fiddler トレースのスクリーンショット。

依頼:

  • 認証が完了したので、AD FS サーバーに別の HTTP GET を実行し、認証トークンを提示します

応答:

  • 応答は HTTP OK です。これは、指定された資格情報に基づいて AD FS がユーザーを認証したことを意味します
  • また、3つのクッキーをクライアントに戻しました
    • MSISAuthenticated には、クライアントが認証されたときの base64 でエンコードされたタイムスタンプ値が含まれています。
    • MSISLoopDetectionCookie は、AD FS 無限ループ検出メカニズムによって使用され、フェデレーション サーバーへの無限リダイレクト ループに終わったクライアントを停止します。 Cookie データは、base64 でエンコードされたタイムスタンプです。
    • MSISSignout は、IDP と SSO セッションでアクセスされたすべての RP を追跡するために使用されます。 この Cookie は、WS-Federation サインアウトが呼び出されたときに使用されます。 この Cookie の内容は、base64 デコーダーを使用して確認できます。

手順 9 と 10

HTTP Post 要求とその要求への応答を示す Fiddler トレースのスクリーンショット。

依頼:

  • HTTP POST

応答:

  • 応答は Found です

手順 11 と 12

Fiddler トレースの最終処理

依頼:

  • HTTP GET

応答:

  • 応答は OK です

次のステップ