diff --git a/.changes/next-release/bugfix-AWSSDKforJavav2-6cad045.json b/.changes/next-release/bugfix-AWSSDKforJavav2-6cad045.json new file mode 100644 index 00000000000..a9b18b0b427 --- /dev/null +++ b/.changes/next-release/bugfix-AWSSDKforJavav2-6cad045.json @@ -0,0 +1,6 @@ +{ + "type": "bugfix", + "category": "AWS SDK for Java v2", + "contributor": "carhaz", + "description": "Update session credentials builder in HttpsCredentialsLoader to include expiration time so it's set in session credentials for ContainerCredentialsProvider" +} diff --git a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/HttpCredentialsLoader.java b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/HttpCredentialsLoader.java index 507ae7c6f44..d2636469043 100644 --- a/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/HttpCredentialsLoader.java +++ b/core/auth/src/main/java/software/amazon/awssdk/auth/credentials/internal/HttpCredentialsLoader.java @@ -104,6 +104,7 @@ public AwsCredentials getAwsCredentials() { .accessKeyId(accessKeyId) .secretAccessKey(secretKey) .sessionToken(token) + .expirationTime(expiration) .providerName(providerName) .build() : AwsBasicCredentials.builder() diff --git a/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/ContainerCredentialsProviderTest.java b/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/ContainerCredentialsProviderTest.java index 568c82724f3..29955af439c 100644 --- a/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/ContainerCredentialsProviderTest.java +++ b/core/auth/src/test/java/software/amazon/awssdk/auth/credentials/ContainerCredentialsProviderTest.java @@ -35,6 +35,8 @@ import software.amazon.awssdk.core.util.SdkUserAgent; import software.amazon.awssdk.testutils.EnvironmentVariableHelper; +import java.util.Optional; + /** * Tests for the {@link ContainerCredentialsProviderTest}. */ @@ -47,6 +49,7 @@ public class ContainerCredentialsProviderTest { private static final String ACCESS_KEY_ID = "ACCESS_KEY_ID"; private static final String SECRET_ACCESS_KEY = "SECRET_ACCESS_KEY"; private static final String TOKEN = "TOKEN_TOKEN_TOKEN"; + private static final String EXPIRATION_TIME = "3000-05-03T04:55:54Z"; private ContainerCredentialsProvider credentialsProvider; private static EnvironmentVariableHelper helper = new EnvironmentVariableHelper(); @@ -92,6 +95,8 @@ public void testGetCredentialsReturnsValidResponseFromEcsEndpoint() { assertThat(credentials.accessKeyId()).isEqualTo(ACCESS_KEY_ID); assertThat(credentials.secretAccessKey()).isEqualTo(SECRET_ACCESS_KEY); assertThat(credentials.sessionToken()).isEqualTo(TOKEN); + assertThat(credentials.expirationTime().isPresent()); + assertThat(credentials.expirationTime().get()).isEqualTo(EXPIRATION_TIME); assertThat(credentials.providerName()).isPresent().contains(BusinessMetricFeatureId.CREDENTIALS_HTTP.value()); }