Estoy realizando la autenticación ADFS en SharePoint Online utilizando el protocolo WS-Federation de Microsoft Online.
Una parte realmente confusa del proceso es la operación "wasignin" para el protocolo WS-Federation, que es una publicación de formulario HTTP parahttps://login.microsoftonline.com/login.srf.
Es confuso debido a los parámetros codificados dentro del wctx
parámetro.
Es wctx
una cadena codificada de parámetros de formulario. Y los parámetros son internos a la implementación de WS-Federation en este caso Microsoft. El wctx de Microsoft parece contener dos parámetros:
estsredirect
= algún número entero. Es decir2
estsrequest
= alguna cadena codificada en base64
¿Pero qué hacen? No están documentados en ningún lugar que pueda encontrar.
Verhttps://blogs.technet.microsoft.com/askpfeplat/2014/11/02/adfs-deep-dive-comparing-ws-fed-saml-and-oauth/para obtener más información sobre WS-Federation durante los protocolos de enlace ADFS.
Más información:https://msdn.microsoft.com/en-us/library/system.identitymodel.services.wsfederationauthenticationmodule.createsigninrequest(v=vs.110).aspx
Abrí esto previamente enhttps://security.stackexchange.com/questions/180629/during-microsoft-ws-federation-protocol-help-describe-the-parameters-given-to-tpero me dijeron que lo volviera a abrir aquí porque en realidad no es una cuestión de seguridad, sino más bien una cuestión de implementación de Microsoft.
Respuesta1
Almacena el contexto de la federación.
Hay un cmdlet:
Establecer AdfsWebConfig -ContextCookieEnabled
que almacena esto como una cookie para persistir y lo agrega a la cadena.
por ejemplo, imagina un escenario:
Aplicación --> ADFS --> algún otro IDP
El otro desplazado interno debe tomar una decisión según la aplicación que realizó la llamada. Esto es lo que se almacena en el contexto. Se pasa a lo largo de la cadena.