private AWSCredentials extractCredentialsFromResponse()

in emr-user-role-mapper-s3storagebasedauthorizationmanager/src/main/java/com/amazonaws/emr/urm/hive/urmstoragebasedauthorizer/URMCredentialsRetriever.java [48:69]


    private AWSCredentials extractCredentialsFromResponse(String inputResponse) throws IOException
    {
        ObjectMapper objectMapper = new ObjectMapper();
        JsonNode rootNode = objectMapper.readTree(inputResponse);

        if (rootNode == null) {
            throw new RuntimeException("AwsCredentialExtractor: Rootnode is null!");
        }

        JsonNode accessKeyId = rootNode.path("AccessKeyId");
        JsonNode secretAccessKey = rootNode.path("SecretAccessKey");
        JsonNode sessionToken = rootNode.path("Token");

        if (accessKeyId == null || secretAccessKey == null || sessionToken == null) {
            LOG.error(String.format("ExtractCredentialsFromResponse: AccessKeyId isNull:%s secretAccessKey isNull: %s token isNull: %s",
                    accessKeyId == null, secretAccessKey == null, sessionToken == null));
            throw new RuntimeException("ExtractCredentialsFromResponse: Credentials from URM came back with null value! ");
        }

        // Create a BasicSessionCredentials object that contains the credentials you just retrieved.
        return new BasicSessionCredentials(accessKeyId.asText(), secretAccessKey.asText(), sessionToken.asText());
    }