par*_*upk 3 java amazon-cognito aws-lambda aws-cognito
我有一个 web angular 前端,一个受 Cognito 和 Lambda 保护的 API 网关,用于其他业务用例。登录和授权工作正常。我正在使用 AWS Javascript SDK 进行授权。类似于https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdf
在我的 lambda 中,我需要通过传递我在 Lambda 中拥有的电子邮件 ID 来获取其他用户信息,例如名字、第二名、出生日期等。(电子邮件 ID 是 Cognito 中的必填字段)。这个 lambda 是从前端操作中启动的。想象一下查看其他用户的个人资料类型的场景。
我相信这是 API http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html但我找不到用 Java 代码做的方法。
用 AWSCognitoIdentityProvider
AWSCognitoIdentityProvider client = AWSCognitoIdentityProviderClientBuilder.standard()
.withCredentials(awsCredentialsProvider).build();
AdminGetUserRequest adminGetUserRequest = new AdminGetUserRequest()
.withUserPoolId("XXXXXXXXXXX")
.withUsername("userName");
AdminGetUserResult adminGetUserResult = client.adminGetUser(adminGetUserRequest);
Run Code Online (Sandbox Code Playgroud)
还有许多其他功能,例如列出所有 cognito 用户,可以完成:
ListUsersRequest listUserRequest = new
ListUsersRequest().withUserPoolId("XXXXXXXXX");
ListUsersResult listUsersResult = client.listUsers(listUserRequest);
Run Code Online (Sandbox Code Playgroud)
Maven是:
<dependency>
<groupId>com.amazonaws</groupId>
<artifactId>aws-java-sdk-cognitoidp</artifactId>
<version>${aws-cloud-version}</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
请确保您的 lambda 角色有权使用 Cognito,例如 cognito-idp:AdminGetUser
| 归档时间: |
|
| 查看次数: |
4826 次 |
| 最近记录: |