Cierre de sesión de usuarios de SAML con un cierre de sesión único - Amazon Cognito

Cierre de sesión de usuarios de SAML con un cierre de sesión único

Amazon Cognito admite el cierre de sesión único (SLO) de SAML 2.0. Con SLO, la aplicación puede cerrar la sesión de los usuarios desde sus proveedores de identidad (IdP) de SAML cuando cierren sesión en el grupo de usuarios. De esta forma, cuando los usuarios quieran volver a iniciar sesión en su aplicación, deberán autenticarse con su IdP SAML. De lo contrario, es posible que tengan cookies del IdP o del navegador de grupo de usuarios que los lleven a su aplicación sin que tengan que proporcionar las credenciales.

Cuando configure el IdP SAML para que admita el flujo de cierre de sesión, Amazon Cognito redirigirá al usuario con una solicitud de cierre de sesión de SAML firmada a su IdP. Amazon Cognito determina la ubicación de redireccionamiento a partir de la URL de SingleLogoutService de los metadatos del IdP. Amazon Cognito firma la solicitud de cierre de sesión con el certificado de firma del grupo de usuarios.

Diagrama de flujo de autenticación del cierre de sesión de SAML de Amazon Cognito El usuario solicita el cierre de sesión y Amazon Cognito lo redirige a su proveedor con una solicitud de cierre de sesión de SAML.

Cuando dirige a un usuario con una sesión de SAML al punto de conexión /logout del grupo de usuarios, Amazon Cognito redirige a su usuario de SAML con la siguiente solicitud al punto de conexión de SLO especificado en los metadatos del IdP.

https://[SingleLogoutService endpoint]? SAMLRequest=[encoded SAML request]& RelayState=[RelayState]& SigAlg=http://www.w3.org/2001/04/xmldsig-more#rsa-sha256& Signature=[User pool RSA signature]

A continuación, el usuario regresa a su punto de conexión saml2/logout con un contenido LogoutResponse de su IdP. El IdP debe enviar el contenido LogoutResponse en una solicitud HTTP POST. A continuación, Amazon Cognito redirige al usuario al destino de redireccionamiento desde la solicitud de cierre de sesión inicial.

Es posible que su proveedor SAML envíe LogoutResponse con más de una AuthnStatement. El sessionIndex en la primera AuthnStatement de una respuesta de este tipo debe coincidir con el sessionIndex de la respuesta de SAML que ha autentificado originalmente al usuario. Si el sessionIndex está en alguna otra AuthnStatement, Amazon Cognito no reconocerá la sesión y no se cerrará la sesión del usuario.

AWS Management Console
Configuración de cierre de sesión de SAML
  1. Cree un grupo de usuarios, un cliente de aplicación y un IdP SAML.

  2. Al crear o editar su proveedor de identidades SAML, en Información del proveedor de identidad, marque la casilla con el título Agregue un flujo de cierre de sesión.

  3. En la pestaña Experiencia de inicio de sesión de su grupo de usuarios, en Inicio de sesión con el proveedor de identidades federadas, seleccione su IdP y localice el Certificado de firma.

  4. Seleccione Descargar como .crt.

  5. Configure el proveedor SAML para que admita el cierre de sesión único y la firma de solicitudes de SAML, y cargue el certificado de firma del grupo de usuarios. Su IdP debe redireccionarse a /saml2/logout en su dominio del grupo de usuarios.

API/CLI

Para configurar un cierre de sesión de SAML

Configure el cierre de sesión único con el parámetro IDPSignout en una solicitud de API CreateIdentityProvider o UpdateIdentityProvider. A continuación se muestra un ejemplo de ProviderDetails de un IdP que admite el cierre de sesión único de SAML.

"ProviderDetails": { "MetadataURL" : "https://myidp.example.com/saml/metadata", "IDPSignout" : "true",, "RequestSigningAlgorithm" : "rsa-sha256", "EncryptedResponses" : "true", "IDPInit" : "true" }