El punto de conexión de cierre de sesión para el inicio de sesión administrado: /logout
El punto de conexión /logout es un punto de conexión de redirección. Cierra la sesión del usuario y redirige a una URL de cierre de sesión autorizada para el cliente de la aplicación o al punto de conexión /login. Los parámetros disponibles en una solicitud GET al punto de conexión /logout se adaptan a los casos de uso del inicio de sesión administrado en Amazon Cognito.
El punto de conexión es una aplicación web frontend para sesiones de usuario interactivas con sus clientes. Su aplicación debe invocar este y otros puntos de conexión de inicio de sesión administrado en los navegadores de sus usuarios.
A fin de redirigir al usuario al inicio de sesión administrado para volver a iniciar sesión, agregue un parámetro redirect_uri a la solicitud. Una solicitud logout con un parámetro redirect_uri también debe incluir parámetros para la solicitud posterior a Punto de conexión Login, como client_id, response_type y scope.
Para redirigir al usuario a la página que elija, agregue las URL de cierre de sesión permitidas al cliente de la aplicación. En las solicitudes de los usuarios al punto de conexión logout, agregue logout_uri y los parámetros client_id. Si el valor de logout_uri es una de las URL de cierre de sesión permitidas para el cliente de la aplicación, Amazon Cognito redirige a los usuarios a esa URL.
Con el cierre de sesión único (SLO) para los IdP SAML 2.0, Amazon Cognito primero redirige al usuario al punto de conexión de SLO que ha definido en la configuración del IdP. Cuando el IdP vuelve a redirigir al usuario a saml2/logout, Amazon Cognito responde con otra redirección a redirect_uri o a logout_uri desde la solicitud. Para obtener más información, consulte Cierre de sesión de usuarios de SAML con un cierre de sesión único.
El punto de conexión de cierre de sesión no cierra la sesión de los usuarios en OIDC ni en los proveedores de identidades (IdP) de redes sociales. Para cerrar la sesión de un usuario en un IdP externo, debe dirigirlo a la página de cierre de sesión de ese proveedor.
GET /logout
El punto de enlace /logout solo admite HTTPS GET. Normalmente, el cliente de grupo de usuarios realiza esta solicitud a través del navegador del sistema. El navegador suele ser la pestaña Chrome personalizada en Android o el controlador de vista de Safari en iOS.
Parámetros de solicitud
- client_id
-
El ID de cliente de aplicación de su aplicación. Para obtener un ID de cliente de aplicación, debe registrar la aplicación en el grupo de usuarios. Para obtener más información, consulte Ajustes específicos de una aplicación en los clientes de aplicación.
Obligatorio.
- logout_uri
-
Redirija al usuario a una página de cierre de sesión personalizada con un parámetro logout_uri. Establecer su valor en la URL de cierre de sesión del cliente de aplicación donde quiere redirigir al usuario después de que se cierre la sesión. Use logout_uri solo con un parámetro client_id. Para obtener más información, consulte Ajustes específicos de una aplicación en los clientes de aplicación.
También puede utilizar el parámetro logout_uri para redirigir al usuario a la página de inicio de sesión de otro cliente de la aplicación. Establezca la página de inicio de sesión para el otro cliente de aplicación como Allowed callback URL (URL de devolución de llamada permitida) en el cliente de aplicación. En su solicitud al punto de conexión
/logout, establezca el valor del parámetro logout_uri en la página de inicio de sesión codificada en URL.Amazon Cognito exige un parámetro logout_uri o redirect_uri en la solicitud al punto de conexión
/logout. Un parámetro logout_uri redirige al usuario a otro sitio web. Si los parámetros logout_uri y redirect_uri se incluyen en su solicitud para el punto de conexión de/logout, Amazon Cognito utilizará exclusivamente el parámetro logout_uri, anulando así el parámetro redirect_uri. nonce-
(Opcional) Valor aleatorio que puede añadir a la solicitud. El valor nonce que proporciona se incluye en el token de ID que emite Amazon Cognito. Para protegerse de los ataques de reproducción, su aplicación puede inspeccionar la reclamación de
nonceen el token de identificación y compararlo con el generado. Para obtener más información sobre la reclamación denonce, consulte ID token validation(Validación de token de ID) en el estándar de OpenID Connect. - redirect_uri
-
Redirija al usuario a la página de inicio de sesión para autenticarse con un parámetro redirect_uri. Establecer su valor en la URL de devolución de llamada permitida del cliente de aplicación donde quiere redirigir al usuario después de que se inicie sesión de nuevo. Añada los parámetros client_id, scope, state y response_type que quiera pasar a su punto de conexión
/login.Amazon Cognito exige un parámetro logout_uri o redirect_uri en la solicitud al punto de conexión
/logout. Para redirigir al usuario a un punto de conexión/loginpara volver a autenticar y pasar tokens a su aplicación, añada un parámetro redirect_uri. Si los parámetros logout_uri y redirect_uri están ambos incluidos en la solicitud al punto de conexión de/logout, Amazon Cognito anulará el parámetro redirect_uri y procesará únicamente el parámetro logout_uri. - response_type
-
La respuesta de OAuth 2.0 que desea recibir de Amazon Cognito después de que el usuario inicie sesión.
codeytokenson los valores válidos para el parámetro response_type.Necesario si utiliza un parámetro redirect_uri.
- estado
-
Cuando la aplicación añade un parámetro state a una solicitud, Amazon Cognito devuelve su valor a la aplicación cuando el punto de conexión
/oauth2/logoutredirige al usuario.Agregue este valor a sus solicitudes de protección contra ataques CSRF
. No se puede establecer el valor de un parámetro
statea una cadena JSON codificada en URL. Para pasar una cadena que coincida con este formato en un parámetrostate, codifique la cadena en base64 y luego descodifíquela en la aplicación.Se recomienda encarecidamente usarlo si se utiliza un parámetro redirect_uri.
- alcance
-
Los ámbitos de OAuth 2.0 que desea solicitar a Amazon Cognito después de cerrar sesión con un parámetro redirect_uri. Amazon Cognito redirige a su usuario al punto de conexión
/logincon el parámetro scope en la solicitud al punto de conexión/logout.Necesario si se utiliza un parámetro redirect_uri. Si no se incluye un parámetro scope, Amazon Cognito redirige al usuario al punto de conexión
/logincon un parámetro scope. Cuando Amazon Cognito redirige al usuario y se rellena automáticamentescope, el parámetro incluye todos los ámbitos autorizados para su cliente de aplicación.
Solicitudes de ejemplo
Ejemplo: Cerrar sesión y redirigir al usuario al cliente
Amazon Cognito redirige las sesiones de usuario a la URL con el valor delogout_uri, ignorando todos los demás parámetros de solicitud, cuando las solicitudes incluyen logout_uri y client_id. Esta URL debe ser una URL de cierre de sesión autorizada para el cliente de aplicaciones.
El siguiente es un ejemplo de solicitud de cierre de sesión y redireccionamiento a https://www.example.com/welcome.
GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? client_id=1example23456789& logout_uri=https%3A%2F%2Fwww.example.com%2Fwelcome
Ejemplo: Cerrar sesión y pedir al usuario que inicie sesión como otro usuario
Cuando las solicitudes omiten logout_uri, pero proporcionan los parámetros que componen una solicitud con el formato correcto al punto de conexión autorizado, Amazon Cognito redirige a los usuarios al inicio de sesión del inicio de sesión administrado. El punto de conexión de cierre de sesión anexa los parámetros de la solicitud original al destino de redireccionamiento.
Los parámetros adicionales que añada a la solicitud de cierre de sesión deben estar en la lista de Parámetros de solicitud. Por ejemplo, el punto de conexión de cierre de sesión no admite la redirección automática de IdP con parámetros identity_provider o idp_identifier. El parámetro redirect_uri de una solicitud al punto de conexión de cierre de sesión no es una URL de cierre de sesión, sino una URL posterior al inicio de sesión por la que es recomendable pasar hacia el punto de conexión de autorización.
A continuación mostramos un ejemplo de solicitud que cierra la sesión de un usuario, lo redirige a la página de inicio de sesión y le proporciona un código de autorización a https://www.example.com después de iniciar sesión.
GET https://mydomain.auth.us-east-1.amazoncognito.com/logout? response_type=code& client_id=1example23456789& redirect_uri=https%3A%2F%2Fwww.example.com& state=example-state-value& nonce=example-nonce-value& scope=openid+profile+aws.cognito.signin.user.admin