

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# El punto de conexión de cierre de sesión para el inicio de sesión administrado: `/logout`
<a name="logout-endpoint"></a>

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](login-endpoint.md), como `client_id`, `response_type` y `scope`.

Para redirigir al usuario a la página que elija, añada el **cierre de sesión URLs permitido** 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 uno de los cierres de **sesión permitidos URLs 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 SAML 2.0, Amazon IdPs Cognito redirige primero al usuario al punto de enlace SLO que definió en la configuración de su 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](cognito-user-pools-saml-idp-sign-out.md).

El punto de cierre de sesión no cierra la sesión de los usuarios en OIDC ni en los proveedores de identidad social (). IdPs 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
<a name="get-logout"></a>

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
<a name="get-logout-request-parameters"></a>

*client\$1id*  
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](user-pool-settings-client-apps.md).  
Obligatorio.

*logout\$1uri*  
Redirija al usuario a una página de cierre de sesión personalizada con un parámetro *logout\$1uri*. 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\$1uri* solo con un parámetro *client\$1id*. Para obtener más información, consulte [Ajustes específicos de una aplicación en los clientes de aplicación](user-pool-settings-client-apps.md).  
También puede utilizar el parámetro *logout\$1uri* 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\$1uri* en la página de inicio de sesión codificada en URL.  
Amazon Cognito exige un parámetro *logout\$1uri* o *redirect\$1uri* en la solicitud al punto de conexión `/logout`. Un parámetro *logout\$1uri* redirige al usuario a otro sitio web. Si los parámetros *logout\$1uri* y *redirect\$1uri* se incluyen en su solicitud para el punto de conexión de `/logout`, Amazon Cognito utilizará exclusivamente el parámetro *logout\$1uri*, anulando así el parámetro *redirect\$1uri*.

*`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 `nonce` en el token de identificación y compararlo con el generado. Para obtener más información sobre la reclamación de `nonce`, consulte [ID token validation](https://openid.net/specs/openid-connect-core-1_0.html#IDTokenValidation) (Validación de token de ID) en el *estándar de OpenID Connect*.

**redirect\$1uri**  
Redirija al usuario a la página de inicio de sesión para autenticarse con un parámetro *redirect\$1uri*. 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\$1id*, *scope*, *state* y *response\$1type* que quiera pasar a su punto de conexión `/login`.  
Amazon Cognito exige un parámetro *logout\$1uri* o *redirect\$1uri* en la solicitud al punto de conexión `/logout`. Para redirigir al usuario a un punto de conexión `/login` para volver a autenticar y pasar tokens a su aplicación, añada un parámetro *redirect\$1uri*. Si los parámetros *logout\$1uri* y *redirect\$1uri* están ambos incluidos en la solicitud al punto de conexión de `/logout`, Amazon Cognito anulará el parámetro *redirect\$1uri* y procesará únicamente el parámetro *logout\$1uri*.

*response\$1type*  
La respuesta OAuth 2.0 que desea recibir de Amazon Cognito después de que el usuario inicie sesión. `code`y `token` son los valores válidos para el parámetro *response\$1type*.  
Necesario si utiliza un parámetro *redirect\$1uri*.

*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/logout` redirige al usuario.  
Agregue este valor a sus solicitudes de protección contra ataques [CSRF](https://en.wikipedia.org/wiki/Cross-site_request_forgery).  
No se puede establecer el valor de un parámetro `state` a una cadena JSON codificada en URL. Para pasar una cadena que coincida con este formato en un parámetro `state`, codifique la cadena en base64 y luego descodifíquela en la aplicación.  
Se recomienda encarecidamente usarlo si se utiliza un parámetro *redirect\$1uri*.

*scope*  
Los ámbitos OAuth 2.0 que desea solicitar a Amazon Cognito después de cerrar sesión en ellos con *un* parámetro redirect\$1uri. Amazon Cognito redirige a su usuario al punto de conexión `/login` con el parámetro *scope* en la solicitud al punto de conexión `/logout`.  
Necesario si se utiliza un parámetro *redirect\$1uri*. Si no se incluye un parámetro *scope*, Amazon Cognito redirige al usuario al punto de conexión `/login` con un parámetro *scope*. Cuando Amazon Cognito redirige al usuario y se rellena automáticamente `scope`, el parámetro incluye todos los ámbitos autorizados para su cliente de aplicación.

### Solicitudes de ejemplo
<a name="get-logout-request-sample"></a>

**Ejemplo: Cerrar sesión y redirigir al usuario al cliente**

Amazon Cognito redirige las sesiones de usuario a la URL con el valor de`logout_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](#get-logout-request-parameters). 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 final de cierre de sesión no es una URL de cierre de sesión, sino una post-sign-in URL por la que desee pasar al punto final autorizado.

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
```