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.
Administrar la caducidad y el almacenamiento en caché del token del grupo de usuarios
Tu aplicación debe completar correctamente una de las siguientes solicitudes cada vez que desees obtener un nuevo JSON Web Token (JWT).
-
Solicite las credenciales o la concesión
del código de autorización desde el Punto de conexión de token. -
Solicite una concesión implícita desde la IU alojada.
-
Autentica a un usuario local en una solicitud de Amazon API Cognito como. InitiateAuth
Puede configurar el grupo de usuarios para que los tokens caduquen en minutos, horas o días. Para garantizar el rendimiento y la disponibilidad de su aplicación, utilice los tokens de Amazon Cognito durante aproximadamente el 75% de su vida útil y, solo entonces, recupere los nuevos. Una solución de caché que cree para su aplicación mantiene los tokens disponibles y evita que Amazon Cognito rechace las solicitudes cuando el porcentaje de solicitudes sea demasiado alto. Una aplicación del lado del cliente debe almacenar los tokens en una memoria caché. Una aplicación del lado del servidor puede añadir un mecanismo de caché cifrado para almacenar los tokens.
Cuando su grupo de usuarios genera un gran volumen de usuarios o machine-to-machine actividad, es posible que se encuentre con los límites que Amazon Cognito establece en cuanto al número de solicitudes de tokens que puede realizar. Para reducir el número de solicitudes que realiza a los puntos de conexión de Amazon Cognito, puede almacenar y reutilizar los datos de autenticación de forma segura o implementar retrocesos y reintentos exponenciales.
Los datos de autenticación provienen de dos clases de puntos de conexión. Los puntos de enlace de Amazon Cognito OAuth 2.0 incluyen el punto de enlace token, que atiende las credenciales de los clientes y las solicitudes de código de autorización de la interfaz de usuario alojada. Los puntos de enlace del servicio responden a las API solicitudes de grupos de usuarios, como y. InitiateAuth
RespondToAuthChallenge
Cada tipo de solicitud tiene su propio límite. Para obtener más información acerca de los límites, consulte Cuotas en Amazon Cognito.
Almacenamiento en caché de los tokens de machine-to-machine acceso con Amazon Gateway API
Con el almacenamiento en caché de tokens de API Gateway, su aplicación puede escalar en respuesta a eventos que superen la cuota de solicitudes predeterminada de los puntos de enlace de Amazon OAuth Cognito.
Puedes almacenar en caché los tokens de acceso para que su aplicación solo solicite un nuevo token de acceso si un token en caché ha caducado. De lo contrario, el punto de conexión de almacenamiento en caché devuelve un token de la caché. Esto evita una llamada adicional a un punto final de Amazon CognitoAPI. Cuando utiliza Amazon API Gateway como representante de, API responde a la mayoría de las solicitudes quePunto de conexión de token, de otro modo, contribuirían a aumentar su cuota de solicitudes, lo que evita solicitudes infructuosas como resultado de la limitación de la frecuencia.
La siguiente solución API basada en Gateway ofrece una implementación del almacenamiento en caché de tokens de baja latencia y con poco código o sin código. APILas pasarelas APIs están cifradas en tránsito y, opcionalmente, en reposo. Una memoria caché API Gateway es ideal para la concesión de credenciales de clientes OAuth 2.0, un tipo de concesión
En esta solución, debes definir una caché en tu aplicación API para almacenar un token de acceso independiente para cada combinación de OAuth ámbitos y clientes de aplicación que desees solicitar en tu aplicación. Cuando tu aplicación realiza una solicitud que coincide con la clave de caché, API respondes con un token de acceso que Amazon Cognito emitió a la primera solicitud que coincidió con la clave de caché. Cuando vence la duración de la clave de caché, API reenvía la solicitud al punto de enlace del token y almacena en caché un nuevo token de acceso.
nota
La duración de la clave de caché debe ser inferior a la duración del token de acceso de su cliente de aplicación.
La clave de caché es una combinación de los OAuth ámbitos que se solicitan en el scope
URL parámetro y el Authorization
encabezado de la solicitud. El encabezado Authorization
contiene el ID de cliente y el secreto de cliente de la aplicación. No tiene que implementar una lógica adicional en su aplicación para implementar esta solución. Solo debe actualizar la configuración para cambiar la ruta al punto de conexión del token del grupo de usuarios.
También puedes implementar el almacenamiento en caché de los tokens con ElastiCache (OSSRedis). Para un control detallado con políticas AWS Identity and Access Management (IAM), considere una caché de Amazon DynamoDB.
nota
El almacenamiento en caché en API Gateway está sujeto a un costo adicional. Para obtener más información, consulte los precios.
Para configurar un proxy de almacenamiento en caché con Gateway API
-
Abra la consola API Gateway
y cree un RESTAPI. -
En Recursos, cree un POST método.
-
Elija el tipo de HTTP integración.
-
Seleccione Usar integración de HTTP proxy.
-
Introduzca un punto final URL de
https://
.<your user pool domain>
/oauth2/token
-
-
En Resources (Recursos), configure la clave de caché.
-
Edite la solicitud de método de su POST método.
-
Establezca su parámetro
scope
y el encabezadoAuthorization
como clave de almacenamiento en caché.-
Agregue una cadena de URLconsulta a los parámetros de la cadena de consulta y elija Almacenamiento en caché para la
scope
cadena. -
Agregue un encabezado para HTTPsolicitar encabezados y elija Almacenamiento en caché para el encabezado.
Authorization
-
-
-
En Stages (Etapas), configure el almacenamiento en caché.
-
Elija la etapa que desea modificar.
-
En Configuración, selecciona Habilitar caché. API
-
Elija una Cache capacity (Capacidad de caché).
-
Elige una caché time-to-live (TTL) de 3600 segundos.
-
Desmarque la casilla de verificación Requerir autorización.
-
-
En las etapas, anota la invocación URL.
-
Actualiza tu aplicación para que POST muestre las solicitudes a tu grupo de usuarios, API en lugar URL de hacerlo al
/oauth2/token
punto final de tu grupo de usuarios.