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.
Tokens 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.
Obtener nuevos tokens de acceso e identidad con un token de actualización
Amazon Cognito emite tokens de actualización en respuesta a una autenticación correcta con el flujo de códigos de autorización de inicio de sesión administrado y con operaciones de API o métodos de SDK. El token de actualización devuelve nuevos tokens de ID y acceso y, si lo desea, un nuevo token de actualización. Puede utilizar tokens de actualización de las siguientes maneras.
- GetTokensFromRefreshToken
-
La operación de la GetTokensFromRefreshTokenAPI emite nuevos identificadores y identificadores de acceso a partir de un token de actualización válido. También obtendrá un nuevo token de actualización si ha activado la rotación del token de actualización.
- InitiateAuth y AdminitiateAuth
-
Las AdminInitiateAuthoperaciones de la InitiateAuthAPI incluyen el flujo
REFRESH_TOKEN_AUTHde autenticación. En este flujo, se pasa un token de actualización y se obtienen tokens de ID y de acceso nuevos. No puede autenticarse conREFRESH_TOKEN_AUTHen los clientes de aplicación que tengan habilitada la rotación del token de actualización. - OAuth punto final simbólico
-
El punto de conexión del token de los grupos de usuarios con un dominio tiene un tipo de concesión
refresh_tokenque emite nuevos tokens de ID, acceso y, si lo desea (con la rotación del token de actualización), de actualización, a partir de un token de actualización válido.
Rotación de tokens de actualización
Si lo desea, puede configurar la rotación del token de actualización en el cliente de su aplicación. Con la rotación del token de actualización, su cliente puede invalidar el token de actualización original y emitir un nuevo token de actualización con cada actualización del token. Cuando esta configuración está habilitada, cada solicitud correcta, en todas las formas de actualización del token, devuelve un nuevo token de ID, acceso y actualización. Cuando esta configuración está deshabilitada, las solicitudes de actualización de los tokens solo devuelven nuevos tokens de acceso e ID, y el token de actualización original sigue siendo válido. El nuevo token de actualización es válido durante el tiempo restante del token de actualización original. Puede configurar los clientes de aplicación para que roten los tokens de actualización o para que transfieran el token de actualización original. Para permitir los reintentos durante un período breve, también puede configurar un período de gracia para el token de actualización original de hasta 60 segundos.
Cosas que debe saber acerca de la rotación de tokens de actualización
-
Después de habilitar la rotación de tokens de actualización, se agregan nuevas reclamaciones en tokens web JSON desde su grupo de usuarios. Las notificaciones
origin_jtiyjtise agregan a los tokens de acceso e ID. Estas afirmaciones aumentan el tamaño del JWTs. -
La rotación del token de actualización no es compatible con el flujo de autenticación
REFRESH_TOKEN_AUTH. Para implementar la rotación de los tokens de actualización, debes inhabilitar este flujo de autenticación en el cliente de la aplicación y diseñar la aplicación para que envíe solicitudes de actualización de los tokens con la operación de la GetTokensFromRefreshTokenAPI o el método del SDK equivalente. -
Si la rotación de los tokens de actualización está inactiva, puede completar las solicitudes de actualización de los tokens con
GetTokensFromRefreshTokenoREFRESH_TOKEN_AUTH. -
Cuando la función para recordar dispositivos está activa en su grupo de usuarios, debe proporcionar la clave del dispositivo en las solicitudes
GetTokensFromRefreshToken. Si su usuario no tiene una clave de dispositivo confirmada que la aplicación envíe en la solicitud de autenticación inicial, Amazon Cognito emitirá una nueva. Para actualizar los tokens en esta configuración, debe proporcionar una clave de dispositivo, tanto si especificó una enAuthParameterscomo si recibió una nueva en la respuesta de autenticación. -
Puede pasar
ClientMetadataal desencadenador de Lambda Antes de la generación del token en su solicitudGetTokensFromRefreshToken. Estos datos, que se transfieren al evento de entrada del desencadenador, proporcionan un contexto adicional que puede utilizar en la lógica personalizada de la función de Lambda.
Como práctica recomendada de seguridad, habilite la rotación de tokens de actualización en los clientes de sus aplicaciones.
Actualización de los tokens de API y SDK
Hay dos formas de usar el token de actualización para obtener un nuevo ID y acceder a los tokens con la API de grupos de usuarios, en función de si la rotación del token de actualización está activa o no. En los clientes de aplicaciones con la rotación del token de actualización activa, usa la operación GetTokensFromRefreshTokenAPI. En los clientes de aplicaciones sin rotación del token de actualización, usa el REFRESH_TOKEN_AUTH flujo de las AdminInitiateAuthoperaciones de la InitiateAuthAPI.
nota
Los usuarios pueden autenticarse con grupos de usuarios en el inicio de sesión gestionado o en aplicaciones personalizadas que usted cree con AWS SDKs las operaciones de la API de Amazon Cognito. El flujo REFRESH_TOKEN_AUTH y GetTokensFromRefreshToken pueden completar la actualización del token para los usuarios con inicio de sesión administrado. La actualización de los tokens en las aplicaciones personalizadas no afecta a las sesiones de inicio de sesión administrado. Estas sesiones se configuran en una cookie del navegador y son válidas durante una hora. La respuesta a GetTokensFromRefreshToken emite tokens de ID, de acceso y, opcionalmente, de actualización, pero no renueva la cookie de sesión del inicio de sesión administrado.
REFRESH_TOKEN_AUTH no está disponible en los clientes de aplicación con la rotación de los tokens de actualización habilitada.
OAuth actualización del token
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.
Las solicitudes al punto de conexión del token están disponibles en los clientes de aplicación con la rotación del token de actualización activa y en aquellos en los que está inactiva. Cuando la rotación del token de actualización está activa, el punto de conexión del token devuelve un nuevo token de actualización.
A continuación, se muestra un ejemplo de solicitud con un token de actualización.
POST /oauth2/token HTTP/1.1 Host:auth.example.comContent-Type: application/x-www-form-urlencoded Authorization: BasicZGpjOTh1M2ppZWRtaTI4M2V1OTI4OmFiY2RlZjAxMjM0NTY3ODkwContent-Length: ** client_id=1example23456789&grant_type=refresh_token&refresh_token=eyJjd123abcEXAMPLE
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.
Para cerrar la sesión de los usuarios en todas las sesiones que hayan iniciado sesión actualmente, revoque todos sus tokens o solicitudes de API. GlobalSignOutAdminUserGlobalSignOut 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 del inicio de sesión administrado 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 con el inicio de sesión administrado, rediríjalos a Punto de conexión Logout, donde Amazon Cognito borra su 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 algunas aplicaciones en las que han mantenido sesión iniciada con sus tokens de actualización. Para cerrar la sesión del usuario para una sola sesión, revoque el token de actualización. Cuando tu usuario quiera cerrar sesión en todas las sesiones autenticadas, genera una solicitud de API. GlobalSignOut La aplicación puede ofrecer al usuario una opción como Cerrar sesión en todos los dispositivos. GlobalSignOut 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, puedes generar una solicitud de AdminUserGlobalSignOutAPI que autorices con tus AWS credenciales para cerrar la sesión de cualquier usuario en todos sus dispositivos. La aplicación de administrador debe llamar a esta operación de API con las credenciales de AWS desarrollador y pasar como parámetros el ID del grupo de usuarios y el nombre de usuario del usuario. 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 con AWS credenciales o con un token de acceso de usuario, consulteLista de operaciones de API agrupadas por modelo de autorización.