keycloak-aplcache

Merge pull request #3318 from mhajas/KEYCLOAK-3654 KEYCLOAK-3654

10/18/2016 3:32:50 AM

Details

diff --git a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
index 63821b3..4317317 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
+++ b/testsuite/integration-arquillian/tests/base/src/test/java/org/keycloak/testsuite/adapter/AbstractAdapterTest.java
@@ -70,6 +70,7 @@ public abstract class AbstractAdapterTest extends AbstractAuthTest {
                 modifyClientUrls(tr, "^(/.*)", appServerContextRootPage.toString() + "$1");
                 modifySamlMasterURLs(tr, "8080", System.getProperty("auth.server.http.port", null));
                 modifySAMLClientsAttributes(tr, "8080", System.getProperty("app.server.http.port", "8280"));
+                modifyClientJWKSUrl(tr, "^(/.*)", appServerContextRootPage.toString() + "$1");
             }
             if ("true".equals(System.getProperty("auth.server.ssl.required"))) {
                 tr.setSslRequired("all");
@@ -77,6 +78,16 @@ public abstract class AbstractAdapterTest extends AbstractAuthTest {
         }
     }
 
+    private void modifyClientJWKSUrl(RealmRepresentation realm, String regex, String replacement) {
+        if (realm.getClients() != null) {
+            realm.getClients().stream().filter(client -> "client-jwt".equals(client.getClientAuthenticatorType())).forEach(client -> {
+                Map<String, String> attr = client.getAttributes();
+                attr.put("jwks.url", attr.get("jwks.url").replaceFirst(regex, replacement));
+                client.setAttributes(attr);
+            });
+        }
+    }
+
     public abstract void addAdapterTestRealms(List<RealmRepresentation> testRealms);
 
     public boolean isRelative() {