2017-09-13 3 views
1

J'ai un front d'entrée angulaire Web et une passerelle API protégée par Cognito et Lambda pour d'autres cas d'utilisation commerciale. La connexion et l'autorisation fonctionnent correctement. J'utilise AWS Javascript SDK pour autoriser. Quelque chose comme https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdfCognito obtenir l'utilisateur par nom d'utilisateur

Dans mon lambda je dois obtenir d'autres informations d'utilisateurs comme le prénom, le nom, la date de naissance etc ... en passant l'identification d'email, que j'ai dans mon Lambda. Cognito). Ce lambda est lancé à partir de l'action frontale. Imaginez voir le type de scénario d'un autre utilisateur.

Je crois que c'est l'API http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html mais je ne trouve pas le chemin à faire dans le code Java.

Répondre

0

Utilisez AWSCognitoIdentityProvider

AWSCognitoIdentityProvider client = AWSCognitoIdentityProviderClientBuilder.standard() 
     .withCredentials(awsCredentialsProvider).build(); 

AdminGetUserRequest adminGetUserRequest = new AdminGetUserRequest() 
         .withUserPoolId("XXXXXXXXXXX") 
         .withUsername("userName"); 
AdminGetUserResult adminGetUserResult = client.adminGetUser(adminGetUserRequest); 

Il y a beaucoup d'autres fonctions, ainsi que la liste tous les utilisateurs Cognito, ce qui peut être fait:

ListUsersRequest listUserRequest = new 
ListUsersRequest().withUserPoolId("XXXXXXXXX"); 
ListUsersResult listUsersResult = client.listUsers(listUserRequest); 

Maven est:

<dependency> 
     <groupId>com.amazonaws</groupId> 
     <artifactId>aws-java-sdk-cognitoidp</artifactId> 
     <version>${aws-cloud-version}</version> 
    </dependency> 

S'il vous plaît assurez-vous que votre rôle lambda a accès à Cognito comme cognito-idp:AdminGetUser