Descripción del token de actualización - Amazon Cognito

Descripción del token de actualización

Puede utilizar el token de actualización para recuperar tokens de ID y de acceso nuevos. De forma predeterminada, el token de actualización vence 30 días después de que el usuario de la aplicación inicie sesión en el grupo de usuarios. Al crear una aplicación para el grupo de usuarios, puede utilizar cualquier valor comprendido entre 60 minutos y 10 años a fin de configurar el vencimiento del token de actualización de la aplicación.

SDK para móviles para iOS, SDK para móviles para Android, Amplify para iOS, Android y Flutter actualizan de forma automática los tokens de ID y acceso si hay un token de actualización válido (sin vencer). Los tokens de ID y de acceso tienen una validez mínima restante de 2 minutos. Si el token de actualización se ha vencido, el usuario de la aplicación debe volver a autenticarse al iniciar sesión de nuevo en el grupo de usuarios. Si el valor mínimo para el token de acceso y el token de ID se establece en 5 minutos y está utilizando el SDK, el token de actualización se utilizará de forma continua para recuperar los nuevos tokens de ID y de acceso. Observará el funcionamiento esperado con un mínimo de 7 minutos, en lugar de 5 minutos.

La cuenta de usuario en sí no vence, siempre y cuando el usuario haya iniciado sesión, como mínimo, una vez antes del plazo UnusedAccountValidityDays indicado para las cuentas nuevas.

Obtener nuevos tokens de acceso e identidad con un token de actualización

Utilice la API o la IU alojada para iniciar la autenticación de los tokens de actualización.

Si desea utilizar el token de actualización para obtener nuevos tokens de ID y de acceso con la API del grupo de usuarios, utilice las operaciones de la API AdminInitiateAuth o InitiateAuth. Pasar REFRESH_TOKEN_AUTH para el parámetro AuthFlow. En la propiedad AuthParameters de AuthFlow, pase el token de actualización del usuario como el valor de "REFRESH_TOKEN". Amazon Cognito devuelve nuevos tokens de ID y acceso después de que la solicitud de API supera todos los desafíos.

nota

Para utilizar la API de grupos de usuarios de Amazon Cognito para actualizar los tokens de un usuario de la interfaz de usuario alojada, genere una solicitud InitiateAuth con el flujo REFRESH_TOKEN_AUTH. Este método de gestionar los tokens en la aplicación no afecta a las sesiones de interfaz de usuario alojada de los usuarios. La respuesta de la API emite tokens de ID y de acceso nuevos, pero no renueva la cookie de sesión de la interfaz de usuario alojada.

También puede enviar los tokens de actualización a Punto de conexión de token en un grupo de usuarios en el que haya configurado un dominio. En el cuerpo de la solicitud, incluya un valor grant_type de refresh_token y un valor refresh_token del token de actualización del usuario.

Revocación de los tokens de actualización

Puede revocar los tokens de actualización que pertenecen a un usuario. Para obtener más información acerca de la revocación de tokens, consulte Finalización de las sesiones de usuario con la revocación del token.

nota

Al revocar el token de actualización, se revocarán todos los ID y tokens de acceso que Amazon Cognito emitió a partir de las solicitudes de actualización con ese token.

Los usuarios pueden cerrar sesión en todos los dispositivos en los que tengan la sesión iniciada en ese momento si se revocan todos los tokens de usuario mediante las operaciones de la API GlobalSignOut y AdminUserGlobalSignOut. Cuando el usuario cierra sesión, se producen los siguientes efectos.

  • El token de actualización del usuario no puede obtener nuevos tokens para el usuario.

  • El token de acceso del usuario no puede realizar solicitudes de la API autorizadas por un token.

  • El usuario deberá volver a autenticarse para obtener tokens nuevos. Como las cookies de sesión de la interfaz de usuario alojada no caducan automáticamente, el usuario puede volver a autenticarse con una cookie de sesión, sin necesidad de solicitar credenciales adicionales. Después de cerrar la sesión de los usuarios de la interfaz de usuario alojada, rediríjalos a Punto de conexión Logout, donde Amazon Cognito borrará la cookie de sesión.

Con los tokens de actualización, puede mantener las sesiones de los usuarios en la aplicación durante mucho tiempo. Con el tiempo, es posible que los usuarios deseen desautorizar algunos dispositivos en los que han iniciado sesión y actualizar la sesión continuamente. Para cerrar la sesión del usuario de un único dispositivo, revoque el token de actualización. Cuando el usuario quiere cerrar sesión en todas las sesiones autenticadas, genere una solicitud de la API GlobalSignOut. La aplicación puede ofrecer al usuario una opción como Cerrar sesión en todos los dispositivosGlobalSignOut acepta un token de acceso válido inalterado, no caducado y no revocado de un usuario. Como esta API está autorizada por un token, un usuario no puede usarla para iniciar el cierre de sesión de otro usuario.

Sin embargo, puede generar una solicitud de la API AdminUserGlobalSignOut que autoriza con las credenciales de AWS para cerrar la sesión de cualquier usuario en todos los dispositivos. La aplicación de administrador debe llamar a esta operación de la API con credenciales de desarrollador de AWS y pasar el ID de grupo de usuarios y el nombre de usuario como parámetros. La API AdminUserGlobalSignOut puede cerrar la sesión de cualquier usuario del grupo de usuarios.

Para obtener más información sobre las solicitudes que puede autorizar mediante credenciales de AWS o el token de acceso de un usuario, consulte Operaciones de API autenticadas y no autenticadas de los grupos de usuarios de Amazon Cognito.