AD FS-Problembehandlung: Fiddler: WS-Verbund
Schritt 1 und 2
Dies ist der Beginn unserer Ablaufverfolgung. In diesem Frame sehen wir Folgendes:
Anforderung:
- HTTP GET zu unser vertrauenden Seite (https://sql1.contoso.com/SampApp)
Antwort:
- Die Antwort ist: HTTP 302 (Umleitung). Die Transportdaten im Antwortheader zeigen das Ziel der Umleitung (https://sts.contoso.com/adfs/ls)
- Die Umleitungs-URL enthält „wa=wsignin 1.0“. Das bedeutet, dass unsere RP-Anwendung eine WS-Verbund-Anmeldung für uns erstellt und an den /adfs/ls/-Endpunkt von AD FS gesendet hat. Dies wird als Umleitungsbindung bezeichnet.
Schritt 3 und 4
Anforderung:
- HTTP GET zu unserem AD FS-Server (sts.contoso.com)
Antwort:
- Die Antwort ist eine Aufforderung zur Eingabe von Anmeldeinformationen. Dies gibt an, dass wir die Formularauthentifizierung verwenden.
- Wenn Sie auf die Webansicht der Antwort klicken, sehen Sie die Eingabeaufforderung für die Anmeldeinformationen.
Schritt 5 und 6
Anforderung:
- HTTP POST mit unserem Benutzernamen und Kennwort.
- Wir präsentieren unsere Anmeldeinformationen. Anhand der Rohdaten in der Anforderung können wir die Anmeldeinformationen sehen.
Antwort:
- Die Antwort lautet „Gefunden“ und das verschlüsselte MSIAuth-Cookie wird erstellt und zurückgegeben. Dies wird zur Überprüfung der SAML-Assertion verwendet, die von unserem Client erstellt wurde. Dies wird auch als „Authentifizierungscookie“ bezeichnet und ist nur vorhanden, wenn AD FS der IDP ist.
Schritt 7 und 8
Anforderung:
- Nachdem wir uns authentifiziert haben, führen wir eine weitere HTTP GET-Aufforderung für den AD FS-Server aus und präsentieren unser Authentifizierungstoken.
Antwort:
- Die Antwort ist ein HTTP OK, was bedeutet, dass AD FS den Benutzer anhand der Anmeldeinformationen authentifiziert hat.
- Außerdem setzen wir drei Cookies auf den Client zurück.
- MSISAuthenticated enthält einen base64-codierten Zeitstempel, der angibt, wann der Client authentifiziert wurde.
- MSISLoopDetectionCookie wird vom AD FS-Mechanismus zur Erkennung von Endlosschleifen verwendet, um Clients zu beenden, die in einer unendlichen Umleitungsschleife zum Verbundserver gelandet sind. Bei den Cookiedaten handelt es sich um einen Zeitstempel, der base64-codiert ist.
- MSISSignout wird verwendet, um den IDP und alle für die SSO-Sitzung besuchten RPs nachzuverfolgen. Dieses Cookie wird verwendet, wenn eine WS-Verbund-Abmeldung aufgerufen wird. Sie können den Inhalt dieses Cookies mithilfe eines base64-Decoders anzeigen.
Schritt 9 und 10
Anforderung:
- HTTP-POST
Antwort:
- Die Antwort lautet „Gefunden“.
Schritt 11 und 12
Anforderung:
- HTTP-GET
Antwort:
- Die Antwort ist „OK“.