web-dev-qa-db-fra.com

Comment modifier l'heure d'expiration des jetons d'accès et d'identité pour les pools d'utilisateurs AWS Cognito

Je ne trouve aucune documentation expliquant si et comment modifier le délai d'expiration des jetons d'accès et d'identité pour les pools d'utilisateurs AWS Cognito.

Le documentation spécifie que par défaut expire 1h après l'émission.

Existe-t-il un moyen de modifier le délai d'expiration?

22
Luca

Il n'est actuellement pas possible de configurer votre pool d'utilisateurs. Ils sont fixés à une heure pour tout le monde.

22
Jeff Bailey

Cognito utilise la spécification OAuth 2. . Afin de renouveler un jeton expiré, vous devrez utiliser la valeur Jeton d'actualisation pour obtenir un nouveau jeton d'identification .

  1. Pour être authentifié au début, l'ID utilisateur et le mot de passe sont collectés auprès de l'utilisateur et envoyés à Cognito.
  2. Vous récupérez deux jetons. Un que vous utilisez pour "accéder" à l'API et un que vous utilisez pour "rafraîchir" lorsque l'accès expire.
  3. Vous n'avez pas besoin de demander à l'utilisateur de saisir à nouveau un ID utilisateur et un mot de passe; il vous suffit d'utiliser le jeton "Actualiser".
  4. Vous n'avez pas besoin de stocker le texte clair du mot de passe (ce qui créerait un risque pour la sécurité) car le jeton "Actualiser" vous donnera un nouveau jeton d'accès.

C'est vraiment assez simple. Plus d'informations dans le documentation Cognito pour rafraîchir les jetons

1
JG.

Vous pouvez configurer l'expiration des jetons à partir de la console cognito General Settings/App Clients/{your app}/Show Details/Refresh token expiration (days)

https://docs.aws.Amazon.com/cognito/latest/developerguide/Amazon-cognito-user-pools-using-tokens-with-identity-providers.html

Par défaut, le jeton d'actualisation expire 30 jours après la connexion de l'utilisateur de votre application à votre groupe d'utilisateurs. Lorsque vous créez une application pour votre groupe d'utilisateurs, vous pouvez définir la actualisation de l'expiration du jeton (en jours) de l'application sur une valeur comprise entre 1 et 3650.

Il semble qu'actuellement, pour le client Web, il n'y ait pas d'option pour quelque chose de moins qu'une journée (assez étrange).

Si vous utilisez le SDK mobile,

https://docs.aws.Amazon.com/cognito/latest/developerguide/Amazon-cognito-user-pools-using-tokens-with-identity-providers.html

Le SDK mobile pour Android offre la possibilité de modifier la période de validité minimale de l'ID et des jetons d'accès à une valeur comprise entre 0 et 30 minutes. Consultez la méthode setRefreshThreshold () de CognitoIdentityProviderClientConfig dans le kit SDK AWS Mobile pour Android API Reference).

1
Neil