From 0e9e013572c1b35d6da5b6c173676b1fdb75f15e Mon Sep 17 00:00:00 2001 From: sophia chen Date: Thu, 1 May 2025 16:15:21 +1000 Subject: [PATCH 1/5] refactoring kms client builder --- .../java/com/uid2/core/service/JWTTokenProvider.java | 9 ++++----- .../com/uid2/core/service/OperatorJWTTokenProvider.java | 2 +- 2 files changed, 5 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/uid2/core/service/JWTTokenProvider.java b/src/main/java/com/uid2/core/service/JWTTokenProvider.java index 81b607e6..2d0b0351 100644 --- a/src/main/java/com/uid2/core/service/JWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/JWTTokenProvider.java @@ -34,11 +34,9 @@ public class JWTTokenProvider { private static final Base64.Encoder encoder = Base64.getUrlEncoder().withoutPadding(); private final JsonObject config; - private final KmsClientBuilder kmsClientBuilder; - public JWTTokenProvider(JsonObject config, KmsClientBuilder clientBuilder) { + public JWTTokenProvider(JsonObject config) { this.config = config; - this.kmsClientBuilder = clientBuilder; } public String getJWT(Instant expiresAt, Instant issuedAt, Map customClaims) throws JwtSigningException { @@ -64,7 +62,7 @@ public String getJWT(Instant expiresAt, Instant issuedAt, Map he KmsClient client = null; try { - client = getKmsClient(this.kmsClientBuilder, this.config); + client = getKmsClient(this.config); } catch (URISyntaxException e) { throw new JwtSigningException(Optional.of("Unable to get KMS Client"), e); } @@ -128,8 +126,9 @@ private void addMapToJsonObject(JsonObject jsonObject, Map map) } } - private static KmsClient getKmsClient(KmsClientBuilder kmsClientBuilder, JsonObject config) throws URISyntaxException { + private static KmsClient getKmsClient(JsonObject config) throws URISyntaxException { KmsClient client; + KmsClientBuilder kmsClientBuilder = KmsClient.builder(); String region = config.getString(KmsRegionProp, config.getString(Const.Config.AwsRegionProp)); String accessKeyId = config.getString(KmsAccessKeyIdProp); diff --git a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java index 4c09e415..46bbadf0 100644 --- a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java @@ -24,7 +24,7 @@ public class OperatorJWTTokenProvider { private final Clock clock; public OperatorJWTTokenProvider(JsonObject config) { - this(config, new JWTTokenProvider(config, KmsClient.builder()), Clock.systemUTC()); + this(config, new JWTTokenProvider(config), Clock.systemUTC()); } public OperatorJWTTokenProvider(JsonObject config, JWTTokenProvider jwtTokenProvider, Clock clock) { From 9d291903f0ab877a6bc34335a0c921e65d5e4fea Mon Sep 17 00:00:00 2001 From: sophia chen Date: Thu, 1 May 2025 16:43:41 +1000 Subject: [PATCH 2/5] fixed tests for refactored kms client builder --- .../uid2/core/service/JWTTokenProvider.java | 9 ++++--- .../service/OperatorJWTTokenProvider.java | 1 - .../core/service/JWTTokenProviderTest.java | 24 +++++++++---------- .../com/uid2/core/vertx/CoreVerticleTest.java | 2 +- 4 files changed, 17 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/uid2/core/service/JWTTokenProvider.java b/src/main/java/com/uid2/core/service/JWTTokenProvider.java index 2d0b0351..6abcf5fb 100644 --- a/src/main/java/com/uid2/core/service/JWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/JWTTokenProvider.java @@ -40,10 +40,10 @@ public JWTTokenProvider(JsonObject config) { } public String getJWT(Instant expiresAt, Instant issuedAt, Map customClaims) throws JwtSigningException { - return this.getJWT(expiresAt, issuedAt, null, customClaims); + return this.getJWT(expiresAt, issuedAt, null, customClaims, KmsClient.builder()); } - public String getJWT(Instant expiresAt, Instant issuedAt, Map headers, Map customClaims) throws JwtSigningException { + public String getJWT(Instant expiresAt, Instant issuedAt, Map headers, Map customClaims, KmsClientBuilder kmsClientBuilder) throws JwtSigningException { JsonObject headersJson = new JsonObject(); headersJson.put("typ", "JWT"); headersJson.put("alg", "RS256"); @@ -62,7 +62,7 @@ public String getJWT(Instant expiresAt, Instant issuedAt, Map he KmsClient client = null; try { - client = getKmsClient(this.config); + client = getKmsClient(this.config, kmsClientBuilder); } catch (URISyntaxException e) { throw new JwtSigningException(Optional.of("Unable to get KMS Client"), e); } @@ -126,9 +126,8 @@ private void addMapToJsonObject(JsonObject jsonObject, Map map) } } - private static KmsClient getKmsClient(JsonObject config) throws URISyntaxException { + private static KmsClient getKmsClient(JsonObject config, KmsClientBuilder kmsClientBuilder) throws URISyntaxException { KmsClient client; - KmsClientBuilder kmsClientBuilder = KmsClient.builder(); String region = config.getString(KmsRegionProp, config.getString(Const.Config.AwsRegionProp)); String accessKeyId = config.getString(KmsAccessKeyIdProp); diff --git a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java index 46bbadf0..b252d233 100644 --- a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java @@ -6,7 +6,6 @@ import io.vertx.core.json.JsonObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import software.amazon.awssdk.services.kms.KmsClient; import java.time.Clock; import java.time.Instant; diff --git a/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java b/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java index 0b84b373..ba3527c9 100644 --- a/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java +++ b/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java @@ -57,11 +57,11 @@ void getJwtReturnsValidToken() throws JWTTokenProvider.JwtSigningException { content.put("iss", "issuer"); var builder = getBuilder(true, "TestSignature"); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); Instant i = Clock.systemUTC().instant(); - String result = provider.getJWT(i, i, headers, content); + String result = provider.getJWT(i, i, headers, content, builder); String expectedSig = "TestSignature"; @@ -84,11 +84,11 @@ void getJwtReturnsValidToken() throws JWTTokenProvider.JwtSigningException { void getJwtEmptySignatureThrowsException() { var builder = getBuilder(false, ""); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); assertEquals("Test status text", e.getMessage()); } @@ -97,11 +97,11 @@ void getJwtEmptySignatureThrowsException() { void getJwtEmptySignatureEmptyResponseText() { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); assertEquals("No message returned from KMS Client", e.getMessage()); } @@ -110,11 +110,11 @@ void getJwtEmptySignatureEmptyResponseText() { void getJwtEmptySignatureNullResponseText() { var builder = getBuilder(false, "", null); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); assertEquals("No message returned from KMS Client", e.getMessage()); } @@ -123,13 +123,13 @@ void getJwtEmptySignatureNullResponseText() { void getJwtSignatureThrowsKmsException() { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); var ex = KmsException.builder().message("Test Error").build(); when(mockClient.sign(capturedSignRequest.capture())).thenThrow(ex); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); assertEquals("Error signing JWT Token.", e.getMessage()); } @@ -144,11 +144,11 @@ void getJwtMissingKeyInConfig() throws IOException { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config, builder); + JWTTokenProvider provider = new JWTTokenProvider(config); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); assertEquals("Unable to retrieve the AWS KMS Key Id from config. Unable to sign JWT token", e.getMessage()); } diff --git a/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java b/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java index bd0c4d7e..06f6f0fe 100644 --- a/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java +++ b/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java @@ -591,7 +591,7 @@ void attestOptOutJWTCalledReturns500OnError(Vertx vertx, VertxTestContext testCo EncryptedAttestationToken encryptedAttestationToken = new EncryptedAttestationToken("test-attestation-token", Instant.ofEpochMilli(111)); when(attestationTokenService.createToken(any())).thenReturn(encryptedAttestationToken); - when(operatorJWTTokenProvider.getCoreJWTToken(anyString(), anyString(), any(), anyInt(), anyString(), any(), anyString(), any())).thenThrow(new JWTTokenProvider(null, null).new JwtSigningException(Optional.of("Test error"))); + when(operatorJWTTokenProvider.getCoreJWTToken(anyString(), anyString(), any(), anyInt(), anyString(), any(), anyString(), any())).thenThrow(new JWTTokenProvider(null).new JwtSigningException(Optional.of("Test error"))); post(vertx, "attest", makeAttestationRequestJson("xxx", null), ar -> { assertTrue(ar.succeeded()); HttpResponse response = ar.result(); From 117c33e4150e6c12484db2af5b1c109e2193b4d8 Mon Sep 17 00:00:00 2001 From: sophia chen Date: Thu, 1 May 2025 16:46:18 +1000 Subject: [PATCH 3/5] rearranged params --- src/main/java/com/uid2/core/service/JWTTokenProvider.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/main/java/com/uid2/core/service/JWTTokenProvider.java b/src/main/java/com/uid2/core/service/JWTTokenProvider.java index 6abcf5fb..3187c892 100644 --- a/src/main/java/com/uid2/core/service/JWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/JWTTokenProvider.java @@ -62,7 +62,7 @@ public String getJWT(Instant expiresAt, Instant issuedAt, Map he KmsClient client = null; try { - client = getKmsClient(this.config, kmsClientBuilder); + client = getKmsClient(kmsClientBuilder, this.config); } catch (URISyntaxException e) { throw new JwtSigningException(Optional.of("Unable to get KMS Client"), e); } @@ -126,7 +126,7 @@ private void addMapToJsonObject(JsonObject jsonObject, Map map) } } - private static KmsClient getKmsClient(JsonObject config, KmsClientBuilder kmsClientBuilder) throws URISyntaxException { + private static KmsClient getKmsClient(KmsClientBuilder kmsClientBuilder, JsonObject config) throws URISyntaxException { KmsClient client; String region = config.getString(KmsRegionProp, config.getString(Const.Config.AwsRegionProp)); From 91b4a44dc73016b9641684e442bec309137adf73 Mon Sep 17 00:00:00 2001 From: sophia chen Date: Thu, 1 May 2025 17:16:23 +1000 Subject: [PATCH 4/5] used Supplier for KmsClientBuilder --- .../uid2/core/service/JWTTokenProvider.java | 12 ++++++---- .../service/OperatorJWTTokenProvider.java | 3 ++- .../core/service/JWTTokenProviderTest.java | 24 +++++++++---------- .../com/uid2/core/vertx/CoreVerticleTest.java | 2 +- 4 files changed, 22 insertions(+), 19 deletions(-) diff --git a/src/main/java/com/uid2/core/service/JWTTokenProvider.java b/src/main/java/com/uid2/core/service/JWTTokenProvider.java index 3187c892..3abd58d9 100644 --- a/src/main/java/com/uid2/core/service/JWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/JWTTokenProvider.java @@ -13,6 +13,7 @@ import java.util.Base64; import java.util.Map; import java.util.Optional; +import java.util.function.Supplier; import software.amazon.awssdk.auth.credentials.AwsBasicCredentials; import software.amazon.awssdk.auth.credentials.WebIdentityTokenFileCredentialsProvider; @@ -32,18 +33,19 @@ public class JWTTokenProvider { private static final Logger LOGGER = LoggerFactory.getLogger(JWTTokenProvider.class); private static final Base64.Encoder encoder = Base64.getUrlEncoder().withoutPadding(); - + private final Supplier kmsClientBuilderSupplier; private final JsonObject config; - public JWTTokenProvider(JsonObject config) { + public JWTTokenProvider(JsonObject config, Supplier kmsClientBuilderSupplier) { this.config = config; + this.kmsClientBuilderSupplier = kmsClientBuilderSupplier; } public String getJWT(Instant expiresAt, Instant issuedAt, Map customClaims) throws JwtSigningException { - return this.getJWT(expiresAt, issuedAt, null, customClaims, KmsClient.builder()); + return this.getJWT(expiresAt, issuedAt, null, customClaims); } - public String getJWT(Instant expiresAt, Instant issuedAt, Map headers, Map customClaims, KmsClientBuilder kmsClientBuilder) throws JwtSigningException { + public String getJWT(Instant expiresAt, Instant issuedAt, Map headers, Map customClaims) throws JwtSigningException { JsonObject headersJson = new JsonObject(); headersJson.put("typ", "JWT"); headersJson.put("alg", "RS256"); @@ -62,7 +64,7 @@ public String getJWT(Instant expiresAt, Instant issuedAt, Map he KmsClient client = null; try { - client = getKmsClient(kmsClientBuilder, this.config); + client = getKmsClient(kmsClientBuilderSupplier.get(), this.config); } catch (URISyntaxException e) { throw new JwtSigningException(Optional.of("Unable to get KMS Client"), e); } diff --git a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java index b252d233..39f4d390 100644 --- a/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/OperatorJWTTokenProvider.java @@ -6,6 +6,7 @@ import io.vertx.core.json.JsonObject; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import software.amazon.awssdk.services.kms.KmsClient; import java.time.Clock; import java.time.Instant; @@ -23,7 +24,7 @@ public class OperatorJWTTokenProvider { private final Clock clock; public OperatorJWTTokenProvider(JsonObject config) { - this(config, new JWTTokenProvider(config), Clock.systemUTC()); + this(config, new JWTTokenProvider(config, KmsClient::builder), Clock.systemUTC()); } public OperatorJWTTokenProvider(JsonObject config, JWTTokenProvider jwtTokenProvider, Clock clock) { diff --git a/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java b/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java index ba3527c9..8a00aeba 100644 --- a/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java +++ b/src/test/java/com/uid2/core/service/JWTTokenProviderTest.java @@ -57,11 +57,11 @@ void getJwtReturnsValidToken() throws JWTTokenProvider.JwtSigningException { content.put("iss", "issuer"); var builder = getBuilder(true, "TestSignature"); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); Instant i = Clock.systemUTC().instant(); - String result = provider.getJWT(i, i, headers, content, builder); + String result = provider.getJWT(i, i, headers, content); String expectedSig = "TestSignature"; @@ -84,11 +84,11 @@ void getJwtReturnsValidToken() throws JWTTokenProvider.JwtSigningException { void getJwtEmptySignatureThrowsException() { var builder = getBuilder(false, ""); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); assertEquals("Test status text", e.getMessage()); } @@ -97,11 +97,11 @@ void getJwtEmptySignatureThrowsException() { void getJwtEmptySignatureEmptyResponseText() { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); assertEquals("No message returned from KMS Client", e.getMessage()); } @@ -110,11 +110,11 @@ void getJwtEmptySignatureEmptyResponseText() { void getJwtEmptySignatureNullResponseText() { var builder = getBuilder(false, "", null); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); assertEquals("No message returned from KMS Client", e.getMessage()); } @@ -123,13 +123,13 @@ void getJwtEmptySignatureNullResponseText() { void getJwtSignatureThrowsKmsException() { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); var ex = KmsException.builder().message("Test Error").build(); when(mockClient.sign(capturedSignRequest.capture())).thenThrow(ex); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); assertEquals("Error signing JWT Token.", e.getMessage()); } @@ -144,11 +144,11 @@ void getJwtMissingKeyInConfig() throws IOException { var builder = getBuilder(false, "", Optional.empty()); - JWTTokenProvider provider = new JWTTokenProvider(config); + JWTTokenProvider provider = new JWTTokenProvider(config, () -> builder); JWTTokenProvider.JwtSigningException e = assertThrows( JWTTokenProvider.JwtSigningException.class, - () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>(), builder)); + () -> provider.getJWT(Clock.systemUTC().instant().plusSeconds(600), Clock.systemUTC().instant(), new HashMap<>(), new HashMap<>())); assertEquals("Unable to retrieve the AWS KMS Key Id from config. Unable to sign JWT token", e.getMessage()); } diff --git a/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java b/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java index 06f6f0fe..bd0c4d7e 100644 --- a/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java +++ b/src/test/java/com/uid2/core/vertx/CoreVerticleTest.java @@ -591,7 +591,7 @@ void attestOptOutJWTCalledReturns500OnError(Vertx vertx, VertxTestContext testCo EncryptedAttestationToken encryptedAttestationToken = new EncryptedAttestationToken("test-attestation-token", Instant.ofEpochMilli(111)); when(attestationTokenService.createToken(any())).thenReturn(encryptedAttestationToken); - when(operatorJWTTokenProvider.getCoreJWTToken(anyString(), anyString(), any(), anyInt(), anyString(), any(), anyString(), any())).thenThrow(new JWTTokenProvider(null).new JwtSigningException(Optional.of("Test error"))); + when(operatorJWTTokenProvider.getCoreJWTToken(anyString(), anyString(), any(), anyInt(), anyString(), any(), anyString(), any())).thenThrow(new JWTTokenProvider(null, null).new JwtSigningException(Optional.of("Test error"))); post(vertx, "attest", makeAttestationRequestJson("xxx", null), ar -> { assertTrue(ar.succeeded()); HttpResponse response = ar.result(); From d50229a6e86efd67692768dd1b2a10b860e3e7ae Mon Sep 17 00:00:00 2001 From: sophia chen Date: Fri, 2 May 2025 10:14:09 +1000 Subject: [PATCH 5/5] minor change --- src/main/java/com/uid2/core/service/JWTTokenProvider.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/uid2/core/service/JWTTokenProvider.java b/src/main/java/com/uid2/core/service/JWTTokenProvider.java index 3abd58d9..c8d05ea8 100644 --- a/src/main/java/com/uid2/core/service/JWTTokenProvider.java +++ b/src/main/java/com/uid2/core/service/JWTTokenProvider.java @@ -64,7 +64,7 @@ public String getJWT(Instant expiresAt, Instant issuedAt, Map he KmsClient client = null; try { - client = getKmsClient(kmsClientBuilderSupplier.get(), this.config); + client = getKmsClient(this.kmsClientBuilderSupplier.get(), this.config); } catch (URISyntaxException e) { throw new JwtSigningException(Optional.of("Unable to get KMS Client"), e); }