From ac317b7cf97bc4d2c6a4067709cacf498488d200 Mon Sep 17 00:00:00 2001 From: Carles Arnal Date: Tue, 16 Jan 2024 19:32:21 +0100 Subject: [PATCH] Make mock match endpoint and add stub for basic user --- .../registry/utils/tests/JWKSMockServer.java | 21 +++++++++++-------- 1 file changed, 12 insertions(+), 9 deletions(-) diff --git a/utils/tests/src/main/java/io/apicurio/registry/utils/tests/JWKSMockServer.java b/utils/tests/src/main/java/io/apicurio/registry/utils/tests/JWKSMockServer.java index d55943011b..7dc2030110 100644 --- a/utils/tests/src/main/java/io/apicurio/registry/utils/tests/JWKSMockServer.java +++ b/utils/tests/src/main/java/io/apicurio/registry/utils/tests/JWKSMockServer.java @@ -94,8 +94,11 @@ public Map start() { stubForClient(NO_ROLE_CLIENT_ID, "test1"); + //Stub for clients with credentials as header + stubForClient(BASIC_USER, BASIC_PASSWORD); + //Stub for basic user - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withRequestBody(WireMock.containing("client_id=" + BASIC_USER)) .withRequestBody(WireMock.containing("client_secret=" + BASIC_PASSWORD)) @@ -109,7 +112,7 @@ public Map start() { "}"))); //Stub for basic user a - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withRequestBody(WireMock.containing("client_id=" + BASIC_USER_A)) .withRequestBody(WireMock.containing("client_secret=" + BASIC_PASSWORD)) @@ -123,7 +126,7 @@ public Map start() { "}"))); //Stub for basic user b - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withRequestBody(WireMock.containing("client_id=" + BASIC_USER_B)) .withRequestBody(WireMock.containing("client_secret=" + BASIC_PASSWORD)) @@ -138,7 +141,7 @@ public Map start() { //Wrong credentials stub - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withRequestBody(WireMock.containing("client_id=" + WRONG_CREDS_CLIENT_ID)) .willReturn(WireMock.aResponse() @@ -149,7 +152,7 @@ public Map start() { this.authServerUrl = server.baseUrl() + "/auth"; LOGGER.info("Keycloak started in mock mode: {}", authServerUrl); - this.tokenEndpoint = authServerUrl + "/realms/" + realm + "/protocol/openid-connect/token"; + this.tokenEndpoint = authServerUrl + "/realms/" + realm + "/protocol/openid-connect/token/"; Map props = new HashMap<>(); @@ -171,7 +174,7 @@ private ResponseDefinitionBuilder wellKnownResponse() { .withBody("{\n" + " \"jwks_uri\": \"" + server.baseUrl() + "/auth/realms/" + realm + "/protocol/openid-connect/certs\",\n" - + " \"token_endpoint\": \"" + server.baseUrl() + "/auth/realms/" + realm + "/protocol/openid-connect/token\" " + + " \"token_endpoint\": \"" + server.baseUrl() + "/auth/realms/" + realm + "/protocol/openid-connect/token/\" " + "}"); } @@ -198,7 +201,7 @@ private String generateJwtToken(String userName, String orgId) { } private void stubForClient(String client) { - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withRequestBody(WireMock.containing("client_id=" + client)) .willReturn(WireMock.aResponse() @@ -212,7 +215,7 @@ private void stubForClient(String client) { } private void stubForClient(String client, String clientSecret) { - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withHeader("Authorization", WireMock.containing(buildBasicAuthHeader(client, clientSecret))) .withRequestBody(WireMock.containing("grant_type=client_credentials")) .willReturn(WireMock.aResponse() @@ -226,7 +229,7 @@ private void stubForClient(String client, String clientSecret) { } private void stubForClientWithWrongCreds(String client, String clientSecret) { - server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token") + server.stubFor(WireMock.post("/auth/realms/" + realm + "/protocol/openid-connect/token/") .withRequestBody(WireMock.containing("grant_type=client_credentials")) .withHeader("Authorization", WireMock.containing(buildBasicAuthHeader(client, clientSecret))) .willReturn(WireMock.aResponse()