Устранение неполадок AD FS — Fiddler — WS-Federation

Схема федерации AD FS и Windows Server

Шаг 1 и 2

Это начало нашего отслеживания. В этом кадре мы видим следующее:

Начало трассировки Fiddler

Request:

  • HTTP GET для нашего поставщика (https://sql1.contoso.com/SampApp)

Response:

  • Ответ — это HTTP 302 (перенаправление). Данные транспорта в заголовке ответа показывают, куда перенаправляться (https://sts.contoso.com/adfs/ls)
  • URL перенаправления содержит wa=wsignin 1.0, что сообщает нам, что наше RP приложение создало запрос на вход для нас с помощью WS-Federation и отправило его в конечную точку AD FS /adfs/ls/. Это называется привязкой перенаправления.

Передача данных в заголовке ответа

Шаг 3 и 4

Продолжение трассировки Fiddler

Request:

  • HTTP GET на наш сервер AD FS (sts.contoso.com)

Response:

  • Ответ — это запрос учетных данных. Это означает, что мы используем проверку подлинности форм
  • Нажав на WebView ответа, вы сможете увидеть окно запроса учетных данных.

Снимок экрана: веб-представление ответа с запросом учетных данных.

Шаг 5 и 6

Вкладка WebView экрана запроса на ввод учетных данных

Request:

  • HTTP POST с нашим именем пользователя и паролем.
  • Мы представляем свои учетные данные. При просмотре необработанных данных в запросе можно увидеть учетные данные.

Response:

  • Ответ найден, а зашифрованный файл cookie MSIAuth создается и возвращается. Это используется для проверки утверждения SAML, созданного нашим клиентом. Это также называется аутентификационным файлом cookie и будет присутствовать только в том случае, если AD FS является IdP.

Шаг 7 и 8

Снимок экрана с трассировкой Fiddler, показывающей запрос HTTP GET и ответ на этот запрос.

Request:

  • Теперь, когда мы выполнили проверку подлинности, мы делаем другой HTTP GET на сервер AD FS и представляем маркер проверки подлинности.

Response:

  • Ответ — это ПРОТОКОЛ HTTP ОК, который означает, что AD FS прошел проверку подлинности пользователя на основе предоставленных учетных данных.
  • Кроме того, мы задали клиенту 3 файла cookie
    • MSISAuthenticated содержит значение метки времени в кодировке Base64, указывающее, когда клиент прошел проверку подлинности.
    • MSISLoopDetectionCookie используется механизмом обнаружения бесконечного цикла AD FS для предотвращения зацикливания клиентов в бесконечном цикле перенаправления на сервер федерации. Данные cookie — это метка времени, закодированная в кодировке Base64.
    • MSISSignout используется для отслеживания поставщика удостоверений (IdP) и всех посещенных доверяющих сторон (RP) в течение сеанса единого входа. Этот cookie используется при вызове WS-Federation выхода из системы. Содержимое этого файла cookie можно просмотреть с помощью декодирования Base64.

Шаг 9 и 10

Снимок экрана: трассировка Fiddler с запросом H T T P Post и ответом на этот запрос.

Request:

  • HTTP POST

Response:

  • Ответ является найденным

Шаг 11 и 12

Завершение трассировки Fiddler

Request:

  • HTTP GET

Response:

  • Ответ ОК

Дальнейшие шаги