Как получить атрибуты пользователя с помощью adminGetUserRequest в cognito

#java #amazon-web-services #amazon-cognito

#java #amazon-веб-сервисы #amazon-cognito

Вопрос:

Я пытаюсь получить атрибуты пользователя из cognito с помощью AdminGetUserRequest, ниже приведен мой код:

 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");
        }
    }
}
  

Код работает нормально, и я получаю пользователя, но значения атрибутов указаны как отредактированные конфиденциальные данные. Результат, который я получаю, следующий

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

Как мне отредактировать значения, перечисленные как конфиденциальные данные. У меня нет никаких токенов доступа, у меня просто есть имя пользователя для получения этих значений.

Ответ №1:

Я действительно считаю, что это просто реализация toString метода по умолчанию https://docs.aws.amazon.com/AWSJavaSDK/latest/javadoc/com/amazonaws/services/cognitoidp/model/AttributeType.html чтобы предотвратить непреднамеренное занесение конфиденциальных данных в журнал.

Попробуйте явно запросить getValue , и я верю, что вы получите свое значение.