web-dev-qa-db-fra.com

Comment obtenir les attributs de l'utilisateur (nom d'utilisateur, email, etc.) en utilisant l'identifiant d'identité cognito

J'ai un pool d'identité AWS Cognito configuré avec le pool d'utilisateurs Cognito en tant que fournisseur d'authentification.

Supposons que j'ai un identifiant d'identité dans le pool d'identités Cognito (par exemple, us-east-1: XXaXcXXa-XXXX-XXXX-XXX-XXXXXXXXXXXX) lorsque cette identité est liée à un utilisateur du groupe d'utilisateurs Cognito.

À l'aide d'un identifiant, comment puis-je obtenir les détails de l'utilisateur lié (email, téléphone, nom d'utilisateur)?

17
gehad

Le jeton ID que vous échangez avec le service d'identité fédérée de Cognito pour obtenir l'ID d'identité et les informations d'identification possède déjà tous les attributs de l'utilisateur. Vous n'avez pas besoin d'un appel supplémentaire vers un service.

C'est un jeton JWT et vous pouvez utiliser n'importe quelle bibliothèque du client pour décoder les valeurs. Vous pouvez lire ce guide pour plus d'informations sur les jetons distribués par les groupes d'utilisateurs Cognito.

Sinon, vous pouvez également utiliser le jeton d'accès pour appeler GetUser API , qui renverra toutes les informations de l'utilisateur.

14
Chetan Mehta

J'ai été confronté à un problème similaire et après trop de soucis, je n'ai pas été en mesure de trouver le moyen exact d'extraire les détails. Mon cas d'utilisation était d'obtenir les détails dans l'APP Android . Après avoir examiné le code de l'API de leur client AWSMobile. J'ai trouvé ci-dessous et cela fonctionne de moi.

Log.i (TAG, "Détails de l'utilisateur" + AWSMobileClient.getInstance (). GetUserAttributes (). ToString ());

Recommandation - Essayez d'utiliser AWSMobileclient si vous l'utilisez pour le développement Android car il s'agit d'une nouvelle bibliothèque recommandée pour le développement.

0
Static Main