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

AD FS and Windows Server Federation diagram

手順 1 と 2

これがトレースの開始です。 このフレームには、次の情報が表示されます:

Start of Fiddler trace

要求:

応答:

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

Transport data in the Response header

手順 3 と 4

Continuation Fiddler trace

要求:

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

応答:

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

Screenshot of the web view of the response showing the credentials prompt.

手順 5 と 6

WebView tab of the prompt for credentials Prompt screen

要求:

  • ユーザー名とパスワードを含む HTTP POST。
  • 資格情報を提示します。 要求の生データを見て、資格情報を確認できます

応答:

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

手順 7 と 8

Screenshot of the of Fiddler trace showing the H T T P Get request and the response to that request.

要求:

  • 認証が済むので、AD FSサーバーに対して別の HTTP GET を実行し、認証トークンを提示します

応答:

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

手順 9 と 10

Screenshot of the of Fiddler trace showing the H T T P Post request and the response to that request.

要求:

  • HTTP POST

応答:

  • 応答は Found です

手順 11 と 12

Finalization of Fiddler trace

要求:

  • HTTP GET

応答:

  • これに対する応答は "OK" (はい) です

次の手順