válidas tus sesión servicio respuesta puede porque intentar inicio han este error credenciales caducado autenticar acceso acceder single-sign-on saml saml-2.0

single-sign-on - tus - error al intentar autenticar la respuesta de saml



¿Qué es exactamente el parámetro RelayState utilizado en SSO(por ejemplo, SAML)? (3)

Estoy tratando de entender SSO usando SAML. Me he encontrado con el parámetro RelayState y estoy muy confundido sobre por qué viene primero en SSO para enviar URL codificadas. ¿Qué significa exactamente?

Lea lo siguiente de la documentación de Google Developer :

Google genera una solicitud de autenticación SAML. La solicitud de SAML está codificada e incorporada en la URL del servicio de SSO del socio. El parámetro RelayState que contiene la URL codificada de la aplicación de Google que el usuario está tratando de alcanzar también está incrustado en la URL de SSO. Este parámetro RelayState está destinado a ser un identificador opaco que se devuelve sin ninguna modificación o inspección


RelayState es un identificador para el recurso en el SP al que el IDP redirigirá al usuario (después del inicio de sesión exitoso). Es una forma de hacer que el proceso de SSO sea más transitorio para el usuario porque se redirige nuevamente a la misma página que solicitó originalmente en el SP.


Según el documento SAML oficial,

Algunos enlaces definen un mecanismo de "RelayState" para preservar y transmitir información de estado. Cuando se utiliza un mecanismo de este tipo para transmitir un mensaje de solicitud como el paso inicial de un protocolo SAML, se imponen requisitos sobre la selección y el uso del enlace utilizado posteriormente para transmitir la respuesta. A saber, si un mensaje de solicitud de SAML va acompañado de datos RelayState, el respondedor SAML DEBE devolver su respuesta de protocolo SAML utilizando un enlace que también sea compatible con un mecanismo RelayState, y DEBE colocar los datos de RelayState exactos que recibió con la solicitud en el RelayState correspondiente. parámetro en la respuesta.


El significado original de RelayState es que el SP puede enviar algún valor al IDP junto con AuthnRequest y luego recuperarlo. El SP puede poner cualquier valor que desee en el RelayState y el IDP simplemente debe RelayState en la respuesta.

Este parámetro RelayState está destinado a ser un identificador opaco que se devuelve sin ninguna modificación o inspección

También hay otro uso estándar de facto para RelayState cuando se utiliza el inicio de sesión iniciado por Idp. En ese caso, no hay ninguna solicitud entrante del SP, por lo que no puede haber ningún estado para ser retransmitido. En cambio, el RelayState es utilizado por el IDP para indicar al SP a qué URL debe redirigir el SP después de iniciar sesión correctamente. Eso no es parte del estándar SAML2 .

Parece que Google está usando RelayState para la URL objetivo incluso en inicio de sesión iniciado por SP, lo cual está perfectamente bien. Pero el IDP debería, como dice la documentación, simplemente devolverlo.