首页 文章

Cognito按用户名获取用户

提问于
浏览
1

我有一个Web角度前端,一个受Cognito和Lambda保护的API网关用于其他业务用例 . 登录和授权工作正常 . 我正在使用AWS Javascript SDK进行授权 . 像https://s3.amazonaws.com/solutions-reference/mobile-backend/latest/mobile-app-backend.pdf之类的东西

在我的lambda中,我需要通过传递我的Lambda中的电子邮件ID来获取其他用户的信息,如名字,第二名,DOB等....(电子邮件ID是Cognito中的必填字段) . 这个lambda从前端动作开始 . 想象一下,查看一些其他用户的 Profiles .

我相信这是API http://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_AdminGetUser.html但我无法找到Java代码的方法 .

1 回答

  • 1

    使用 AWSCognitoIdentityProvider

    AWSCognitoIdentityProvider client = AWSCognitoIdentityProviderClientBuilder.standard()
             .withCredentials(awsCredentialsProvider).build();
    
    AdminGetUserRequest adminGetUserRequest = new AdminGetUserRequest()
                            .withUserPoolId("XXXXXXXXXXX")
                            .withUsername("userName");
    AdminGetUserResult adminGetUserResult = client.adminGetUser(adminGetUserRequest);
    

    还有许多其他功能,如列出所有认知用户,可以这样做:

    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

相关问题