3

我正在尝试使用 AdminGetUserRequest 从 cognito 获取用户属性,以下是我的代码:

public class getUserDetails {
    public static void main(String[] args) {
        String app_client_id ="xxxxxxxxxxxx";
        String app_client_secret ="xxxxxxxxxxx";
        String user_pool_id ="xxxxxxxxx";
        String region = "xxxxxxxxxx";
        String AWS_ACCESS_KEY = "xxxxxxxxxx";
        String AWS_SECRET_KEY = "xxxxxxxxxx";
        AWSCredentials awsCreds = new BasicAWSCredentials(AWS_ACCESS_KEY, AWS_SECRET_KEY);
        AWSCognitoIdentityProvider client = AWSCognitoIdentityProviderClientBuilder.standard()
                .withCredentials(new AWSStaticCredentialsProvider(awsCreds))
                .withRegion(region)
                .build();
        AdminGetUserRequest adminGetUserRequest = new AdminGetUserRequest()
                .withUserPoolId(user_pool_id)
                .withUsername("testUser");

        try {
            AdminGetUserResult adminGetUserResult = client.adminGetUser(adminGetUserRequest);
            System.out.println(adminGetUserResult.getUserAttributes());
        }catch (UserNotFoundException e) {
            System.out.println("User not found");
        }
    }
}

代码运行良好,我正在获取用户,但属性值被列为Sensitive Data Redacted。我得到的输出如下

[{Name: sub,Value: ***Sensitive Data Redacted***}, {Name: email_verified,Value: ***Sensitive Data Redacted***}, {Name: email,Value: ***Sensitive Data Redacted***}]

如何获取列为Sensitive Data Redacted的值。我没有任何访问令牌,我只有用户名来检索这些值。

4

1 回答 1

1

我确实相信这只是https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cognitoidp/model/AttributeType.htmltoString方法的默认实现,以防止无意记录敏感数据.

尝试明确要求getValue,我相信你会得到你的价值。

于 2020-09-17T12:31:03.220 回答