0

Mon application Android s'identifie avec Cognito dans un AsyncTask et reçoit le jeton JWT dans le cadre du CognitoUserSession. Ceci est ensuite défini dans CognitoCachingCredentialsProvider en utilisant setLogins(). Je voudrais récupérer ce jeton JWT dans un autre AsyncTask. Cependant getLogins() sur le CognitoCachingCredentialsProvider renvoie une carte de taille 0.Comment stocker et récupérer AWS Cognito JWT Token dans Android

Quelle est la manière la plus simple de récupérer le jeton? Devrais-je le stocker à nouveau dans les préférences partagées? Get/SetLogins dans le SDK juste mettre à jour une carte à l'intérieur du fournisseur d'informations d'identification, ils ne l'enregistrent pas à long terme

Répondre

1

Si vous avez besoin d'y accéder à travers des threads à un moment quelconque, ce serait un moyen raisonnable de l'accomplir. Sinon, utilisez simplement le même fournisseur d'informations d'identification et il sera là.

0

CognitoCachingCredentialsProvider utilise réellement les préférences partagées pour enregistrer les données, mais getLogins renvoie un hachage de taille 0. La méthode la plus simple pour conserver les données (JWT) était les préférences partagées dans la méthode doInBackgraound et de les récupérer partout où cela était nécessaire.

+1

Correct. Il utilise les préférences partagées pour sauvegarder les identifiants de creds/identity ... etc, mais il ne stocke pas le token en votre nom. –