Я выполняю аутентификацию ADFS в SharePoint Online с использованием протокола WS-Federation от Microsoft Online.
Одной из действительно запутанных частей процесса является операция «wasignin» для протокола WS-Federation, которая представляет собой отправку HTTP-формыhttps://login.microsoftonline.com/login.srf.
Это сбивает с толку из-за параметров, закодированных внутри wctx
параметра.
Это wctx
закодированная строка параметров формы. И параметры являются внутренними для реализации WS-Federation в данном случае Microsoft. Похоже, wctx от Microsoft содержит два параметра:
estsredirect
= некоторое целое число. Т.е.2
estsrequest
= некоторая строка в кодировке base64
Но что они делают? Насколько я могу судить, они нигде не задокументированы.
Видетьhttps://blogs.technet.microsoft.com/askpfeplat/2014/11/02/adfs-deep-dive-comparing-ws-fed-saml-and-oauth/для получения дополнительной информации о WS-Federation во время установления связи ADFS.
Больше информации:https://msdn.microsoft.com/en-us/library/system.identitymodel.services.wsfederationauthenticationmodule.createsigninrequest(v=vs.110).aspx
Ранее открывал это наhttps://security.stackexchange.com/questions/180629/during-microsoft-ws-federation-protocol-help-describe-the-parameters-given-to-tно мне сказали повторно открыть его здесь, поскольку это на самом деле не вопрос безопасности, а скорее вопрос реализации Microsoft.
решение1
Он хранит контекст федерации.
Есть командлет:
Установить AdfsWebConfig -ContextCookieEnabled
который сохраняет это как cookie-файл для сохранения и добавляет его в строку.
например представьте себе такой сценарий:
Приложение --> ADFS --> какой-то другой IDP
Другой IDP должен принять решение на основе того, какое приложение сделало вызов. Это то, что хранится в контексте. Оно передается по цепочке.