2017-09-13 143 views
1

我有一個web角度前端,一個受Cognito和Lambda保護的API網關,用於其他業務用例。登錄和授權工作正常。我正在使用AWS Javascript SDK進行授權。類似於https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdfCognito通過用戶名得到用戶

在我的lambda中,我需要通過傳遞電子郵件ID來獲取其他用戶的信息,例如名字,第二個名稱,DOB等....(電子郵件ID是我的Lambda中的必填字段Cognito)。這個lambda是從前端操作中踢出來的。想象一下,查看一些其他用戶的配置文件類型的情況。

我相信這是API http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html,但我無法找到在Java代碼中的方法。

回答

0

使用AWSCognitoIdentityProvider

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

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

還有很多其他的功能,以及像列表中的所有cognito用戶,這是可以做到:

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

Maven是:

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

請確保你的lambda角色有權使用Cognito,如cognito-idp:AdminGetUser

相關問題