diff --git a/.changes/next-release/bugfix-AWSSDKforJavav2-64dd59e.json b/.changes/next-release/bugfix-AWSSDKforJavav2-64dd59e.json new file mode 100644 index 000000000000..9315d357efd4 --- /dev/null +++ b/.changes/next-release/bugfix-AWSSDKforJavav2-64dd59e.json @@ -0,0 +1,6 @@ +{ + "category": "AWS SDK for Java v2", + "contributor": "", + "type": "bugfix", + "description": "Don't attempt to use empty session tokens" +} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/SystemSettingsCredentialsProvider.java b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/SystemSettingsCredentialsProvider.java index c84cc44c6237..9c4a642c251c 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/SystemSettingsCredentialsProvider.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/SystemSettingsCredentialsProvider.java @@ -49,7 +49,7 @@ public AwsCredentials resolveCredentials() { String secretKey = trim(loadSetting(SdkSystemSetting.AWS_SECRET_ACCESS_KEY).orElse(null)); String sessionToken = trim(loadSetting(SdkSystemSetting.AWS_SESSION_TOKEN).orElse(null)); - if (StringUtils.isEmpty(accessKey)) { + if (StringUtils.isBlank(accessKey)) { throw SdkClientException.builder() .message(String.format("Unable to load credentials from system settings. Access key must be" + " specified either via environment variable (%s) or system property (%s).", @@ -58,7 +58,7 @@ public AwsCredentials resolveCredentials() { .build(); } - if (StringUtils.isEmpty(secretKey)) { + if (StringUtils.isBlank(secretKey)) { throw SdkClientException.builder() .message(String.format("Unable to load credentials from system settings. Secret key must be" + " specified either via environment variable (%s) or system property (%s).", @@ -67,8 +67,8 @@ public AwsCredentials resolveCredentials() { .build(); } - return sessionToken == null ? AwsBasicCredentials.create(accessKey, secretKey) - : AwsSessionCredentials.create(accessKey, secretKey, sessionToken); + return StringUtils.isBlank(sessionToken) ? AwsBasicCredentials.create(accessKey, secretKey) + : AwsSessionCredentials.create(accessKey, secretKey, sessionToken); } /**