keycloak-memoizeit

Changes

connections/http-client/pom.xml 40(+0 -40)

connections/http-client/src/main/resources/META-INF/services/org.keycloak.provider.Spi 1(+0 -1)

connections/jpa/pom.xml 36(+0 -36)

connections/jpa-liquibase/pom.xml 76(+0 -76)

connections/mongo/pom.xml 35(+0 -35)

connections/mongo-update/pom.xml 39(+0 -39)

connections/truststore/pom.xml 35(+0 -35)

connections/truststore/src/main/resources/META-INF/services/org.keycloak.connections.truststore.TruststoreProviderFactory 1(+0 -1)

connections/truststore/src/main/resources/META-INF/services/org.keycloak.provider.Spi 1(+0 -1)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-account-freemarker/main/module.xml 22(+0 -22)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-http-client/main/module.xml 22(+0 -22)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-jpa/main/module.xml 24(+0 -24)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-jpa-liquibase/main/module.xml 21(+0 -21)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-mongo/main/module.xml 18(+0 -18)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-mongo-update/main/module.xml 19(+0 -19)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-connections-truststore/main/module.xml 17(+0 -17)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-email-freemarker/main/module.xml 21(+0 -21)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-events-jpa/main/module.xml 25(+0 -25)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-events-mongo/main/module.xml 23(+0 -23)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-forms-common-freemarker/main/module.xml 19(+0 -19)

distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-login-freemarker/main/module.xml 23(+0 -23)

events/jpa/pom.xml 52(+0 -52)

events/mongo/pom.xml 42(+0 -42)

events/pom.xml 2(+0 -2)

forms/account-freemarker/pom.xml 67(+0 -67)

forms/common-freemarker/pom.xml 62(+0 -62)

forms/common-freemarker/src/main/resources/META-INF/services/org.keycloak.freemarker.ThemeProviderFactory 1(+0 -1)

forms/common-freemarker/src/main/resources/META-INF/services/org.keycloak.provider.Spi 1(+0 -1)

forms/email-freemarker/pom.xml 62(+0 -62)

forms/login-freemarker/pom.xml 73(+0 -73)

forms/login-freemarker/src/main/resources/META-INF/services/org.keycloak.forms.login.LoginFormsProviderFactory 1(+0 -1)

forms/pom.xml 4(+0 -4)

model/jpa/pom.xml 27(+23 -4)

pom.xml 64(+2 -62)

services/pom.xml 9(+3 -6)

wildfly/extensions/src/main/resources/META-INF/services/org.keycloak.freemarker.ThemeProviderFactory 1(+0 -1)

Details

diff --git a/broker/oidc/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java b/broker/oidc/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
index ff2937d..8113a59 100755
--- a/broker/oidc/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
+++ b/broker/oidc/src/main/java/org/keycloak/broker/oidc/AbstractOAuth2IdentityProvider.java
@@ -27,7 +27,7 @@ import org.keycloak.broker.provider.AbstractIdentityProvider;
 import org.keycloak.broker.provider.AuthenticationRequest;
 import org.keycloak.broker.provider.BrokeredIdentityContext;
 import org.keycloak.broker.provider.IdentityBrokerException;
-import org.keycloak.connections.truststore.JSSETruststoreConfigurator;
+import org.keycloak.truststore.JSSETruststoreConfigurator;
 import org.keycloak.events.Errors;
 import org.keycloak.events.EventBuilder;
 import org.keycloak.events.EventType;
diff --git a/connections/pom.xml b/connections/pom.xml
index 3f83ab5..7ec53fb 100755
--- a/connections/pom.xml
+++ b/connections/pom.xml
@@ -13,13 +13,7 @@
     <packaging>pom</packaging>
 
     <modules>
-        <module>jpa</module>
-        <module>jpa-liquibase</module>
         <module>infinispan</module>
-        <module>mongo</module>
-        <module>mongo-update</module>
-        <module>http-client</module>
-        <module>truststore</module>
     </modules>
 
     <build>
diff --git a/dependencies/server-all/pom.xml b/dependencies/server-all/pom.xml
index a503d53..407a340 100755
--- a/dependencies/server-all/pom.xml
+++ b/dependencies/server-all/pom.xml
@@ -22,14 +22,6 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-jpa-liquibase</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-connections-infinispan</artifactId>
         </dependency>
         <dependency>
@@ -46,10 +38,6 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-events-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-events-jboss-logging</artifactId>
         </dependency>
         <dependency>
@@ -118,21 +106,9 @@
         <!-- mongo -->
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-mongo</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-mongo-update</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-model-mongo</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-events-mongo</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.mongodb</groupId>
             <artifactId>mongo-java-driver</artifactId>
         </dependency>
diff --git a/dependencies/server-min/pom.xml b/dependencies/server-min/pom.xml
index 5e4f9b5..d60e68d 100755
--- a/dependencies/server-min/pom.xml
+++ b/dependencies/server-min/pom.xml
@@ -49,10 +49,6 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-events-jpa</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-events-jboss-logging</artifactId>
         </dependency>
         <dependency>
@@ -62,10 +58,6 @@
 
         <!-- forms -->
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-forms-common-freemarker</artifactId>
-        </dependency>
-        <dependency>
             <groupId>org.freemarker</groupId>
             <artifactId>freemarker</artifactId>
         </dependency>
@@ -73,27 +65,6 @@
             <groupId>org.keycloak</groupId>
             <artifactId>keycloak-forms-common-themes</artifactId>
         </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-account-freemarker</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-email-freemarker</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-login-freemarker</artifactId>
-        </dependency>
-
-         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-truststore</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-http-client</artifactId>
-        </dependency>
     </dependencies>
 
 </project>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-broker-oidc/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-broker-oidc/main/module.xml
index 0c29957..a4f8290 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-broker-oidc/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-broker-oidc/main/module.xml
@@ -11,7 +11,6 @@
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.keycloak.keycloak-server-spi"/>
         <module name="org.keycloak.keycloak-services"/>
-        <module name="org.keycloak.keycloak-connections-truststore"/>
         <module name="com.fasterxml.jackson.core.jackson-core"/>
         <module name="com.fasterxml.jackson.core.jackson-annotations"/>
         <module name="com.fasterxml.jackson.core.jackson-databind"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-forms-common-themes/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-forms-common-themes/main/module.xml
index 7900d0c..1727a44 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-forms-common-themes/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-forms-common-themes/main/module.xml
@@ -8,7 +8,6 @@
     </resources>
     <dependencies>
         <module name="org.keycloak.keycloak-common"/>
-        <module name="org.keycloak.keycloak-forms-common-freemarker"/>
         <module name="org.keycloak.keycloak-server-spi"/>
         <module name="org.keycloak.keycloak-core"/>
         <module name="javax.ws.rs.api"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-jpa/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-jpa/main/module.xml
index dbca1ca..b161734 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-jpa/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-jpa/main/module.xml
@@ -6,13 +6,16 @@
     <resources>
         <artifact name="${org.keycloak:keycloak-model-jpa}"/>
     </resources>
+    <exports>
+        <include path="META-INF/**"/>
+    </exports>
     <dependencies>
         <module name="org.keycloak.keycloak-common"/>
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.keycloak.keycloak-server-spi"/>
-        <module name="org.keycloak.keycloak-connections-jpa" services="import"/>
         <module name="javax.persistence.api"/>
         <module name="org.jboss.logging"/>
+        <module name="org.liquibase"/>
         <module name="org.javassist"/>
         <module name="org.hibernate" services="import"/>
         <module name="org.bouncycastle" />
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-mongo/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-mongo/main/module.xml
index 499808f..6e49eea 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-mongo/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-model-mongo/main/module.xml
@@ -10,7 +10,6 @@
         <module name="org.keycloak.keycloak-common"/>
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.keycloak.keycloak-server-spi"/>
-        <module name="org.keycloak.keycloak-connections-mongo"/>
         <module name="org.mongodb.mongo-java-driver"/>
         <module name="org.jboss.logging"/>
         <module name="javax.api"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-saml-protocol/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-saml-protocol/main/module.xml
index f9b6ad7..da3d43c 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-saml-protocol/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-saml-protocol/main/module.xml
@@ -11,15 +11,13 @@
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.keycloak.keycloak-saml-core"/>
         <module name="org.keycloak.keycloak-server-spi"/>
-        <module name="org.keycloak.keycloak-services"/>
-        <module name="org.keycloak.keycloak-forms-common-freemarker"/>
+        <module name="org.keycloak.keycloak-services" services="import"/>
         <module name="org.apache.httpcomponents" />
         <module name="org.jboss.logging"/>
         <module name="javax.ws.rs.api"/>
         <module name="org.jboss.resteasy.resteasy-jaxrs"/>
         <module name="org.jboss.resteasy.resteasy-crypto"/>
         <module name="org.jboss.resteasy.resteasy-multipart-provider"/>
-        <module name="org.keycloak.keycloak-connections-http-client" services="import"/>
 
         <module name="javax.api"/>
         <module name="javax.xml.soap.api"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-spi/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-spi/main/module.xml
index ce78f0f..a8fd65c 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-spi/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-spi/main/module.xml
@@ -12,6 +12,7 @@
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.bouncycastle" />
         <module name="javax.api"/>
+        <module name="org.apache.httpcomponents"/>
     </dependencies>
 
 </module>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
index 0086c22..873d54e 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-server-subsystem/main/server-war/WEB-INF/jboss-deployment-structure.xml
@@ -1,30 +1,19 @@
 <jboss-deployment-structure>
     <deployment>
         <dependencies>
-            <module name="org.keycloak.keycloak-account-freemarker" services="import"/>
             <module name="org.keycloak.keycloak-connections-infinispan" services="import"/>
-            <module name="org.keycloak.keycloak-connections-jpa" services="import" meta-inf="import"/>
-            <module name="org.keycloak.keycloak-connections-jpa-liquibase" services="import"/>
-            <module name="org.keycloak.keycloak-connections-mongo" services="import"/>
-            <module name="org.keycloak.keycloak-connections-mongo-update" services="import"/>
-            <module name="org.keycloak.keycloak-connections-truststore" services="import"/>
             <module name="org.keycloak.keycloak-common" services="import"/>
             <module name="org.keycloak.keycloak-core" services="import"/>
-            <module name="org.keycloak.keycloak-email-freemarker" services="import"/>
             <module name="org.keycloak.keycloak-events-email" services="import"/>
             <module name="org.keycloak.keycloak-events-jboss-logging" services="import"/>
-            <module name="org.keycloak.keycloak-events-jpa" services="import"/>
-            <module name="org.keycloak.keycloak-events-mongo" services="import"/>
-            <module name="org.keycloak.keycloak-forms-common-freemarker" services="import"/>
             <module name="org.keycloak.keycloak-forms-common-themes" services="import"/>
             <module name="org.keycloak.keycloak-invalidation-cache-infinispan" services="import"/>
             <module name="org.keycloak.keycloak-invalidation-cache-model" services="import"/>
             <module name="org.keycloak.keycloak-js-adapter" services="import"/>
             <module name="org.keycloak.keycloak-kerberos-federation" services="import"/>
             <module name="org.keycloak.keycloak-ldap-federation" services="import"/>
-            <module name="org.keycloak.keycloak-login-freemarker" services="import"/>
             <module name="org.keycloak.keycloak-server-spi" services="import"/>
-            <module name="org.keycloak.keycloak-model-jpa" services="import"/>
+            <module name="org.keycloak.keycloak-model-jpa" services="import" meta-inf="import"/>
             <module name="org.keycloak.keycloak-model-mongo" services="import"/>
             <module name="org.keycloak.keycloak-model-sessions-infinispan" services="import"/>
             <module name="org.keycloak.keycloak-saml-protocol" services="import"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
index 8c2e2a8..36c90f2 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-services/main/module.xml
@@ -7,31 +7,19 @@
         <artifact name="${org.keycloak:keycloak-services}"/>
     </resources>
     <dependencies>
-        <module name="org.keycloak.keycloak-account-freemarker" services="import"/>
         <module name="org.keycloak.keycloak-broker-oidc" services="import"/>
         <module name="org.keycloak.keycloak-broker-saml" services="import"/>
-        <module name="org.keycloak.keycloak-connections-http-client" services="import"/>
         <module name="org.keycloak.keycloak-connections-infinispan" services="import"/>
-        <module name="org.keycloak.keycloak-connections-jpa" services="import"/>
-        <module name="org.keycloak.keycloak-connections-jpa-liquibase" services="import"/>
-        <module name="org.keycloak.keycloak-connections-mongo" services="import"/>
-        <module name="org.keycloak.keycloak-connections-mongo-update" services="import"/>
-        <module name="org.keycloak.keycloak-connections-truststore" services="import"/>
         <module name="org.keycloak.keycloak-common" services="import"/>
         <module name="org.keycloak.keycloak-core" services="import"/>
-        <module name="org.keycloak.keycloak-email-freemarker" services="import"/>
         <module name="org.keycloak.keycloak-events-email" services="import"/>
         <module name="org.keycloak.keycloak-events-jboss-logging" services="import"/>
-        <module name="org.keycloak.keycloak-events-jpa" services="import"/>
-        <module name="org.keycloak.keycloak-events-mongo" services="import"/>
-        <module name="org.keycloak.keycloak-forms-common-freemarker" services="import"/>
         <module name="org.keycloak.keycloak-forms-common-themes" services="import"/>
         <module name="org.keycloak.keycloak-invalidation-cache-infinispan" services="import"/>
         <module name="org.keycloak.keycloak-invalidation-cache-model" services="import"/>
         <module name="org.keycloak.keycloak-js-adapter" services="import"/>
         <module name="org.keycloak.keycloak-kerberos-federation" services="import"/>
         <module name="org.keycloak.keycloak-ldap-federation" services="import"/>
-        <module name="org.keycloak.keycloak-login-freemarker" services="import"/>
         <module name="org.keycloak.keycloak-server-spi" services="import"/>
         <module name="org.keycloak.keycloak-model-jpa" services="import"/>
         <module name="org.keycloak.keycloak-model-mongo" services="import"/>
@@ -47,6 +35,7 @@
         <module name="org.keycloak.keycloak-social-stackoverflow" services="import"/>
         <module name="org.keycloak.keycloak-wildfly-extensions" services="import"/>
 
+        <module name="org.freemarker"/>
         <module name="javax.ws.rs.api"/>
         <module name="javax.mail.api"/>
         <module name="org.jboss.resteasy.resteasy-jaxrs"/>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-wildfly-extensions/main/module.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-wildfly-extensions/main/module.xml
index e536b6c..3fed420 100755
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-wildfly-extensions/main/module.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/modules/system/layers/base/org/keycloak/keycloak-wildfly-extensions/main/module.xml
@@ -8,7 +8,6 @@
         <module name="org.keycloak.keycloak-core"/>
         <module name="org.keycloak.keycloak-server-spi"/>
         <module name="org.keycloak.keycloak-services"/>
-        <module name="org.keycloak.keycloak-forms-common-freemarker"/>
         <module name="org.keycloak.keycloak-forms-common-themes"/>
         <module name="org.jboss.modules"/>
     </dependencies>

events/pom.xml 2(+0 -2)

diff --git a/events/pom.xml b/events/pom.xml
index 1290ce0..1307cdb 100755
--- a/events/pom.xml
+++ b/events/pom.xml
@@ -17,9 +17,7 @@
 
     <modules>
         <module>email</module>
-        <module>jpa</module>
         <module>jboss-logging</module>
         <module>syslog</module>
-        <module>mongo</module>
     </modules>
 </project>
diff --git a/forms/common-themes/pom.xml b/forms/common-themes/pom.xml
index 7baa590..a3e47cc 100755
--- a/forms/common-themes/pom.xml
+++ b/forms/common-themes/pom.xml
@@ -25,11 +25,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-forms-common-freemarker</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.jboss.spec.javax.ws.rs</groupId>
             <artifactId>jboss-jaxrs-api_2.0_spec</artifactId>
             <scope>provided</scope>
diff --git a/forms/common-themes/src/main/resources/theme/base/account/messages/messages_fr.properties b/forms/common-themes/src/main/resources/theme/base/account/messages/messages_fr.properties
index 56e41d4..894f165 100644
--- a/forms/common-themes/src/main/resources/theme/base/account/messages/messages_fr.properties
+++ b/forms/common-themes/src/main/resources/theme/base/account/messages/messages_fr.properties
@@ -58,6 +58,7 @@ role_read-token=Lire le jeton d''authentification
 role_offline-access=Acc\u00e9s hors-ligne
 client_account=Compte
 client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9
+client_admin-cli=Admin CLI
 client_realm-management=Gestion du domaine
 client_broker=Broker
 
@@ -136,6 +137,7 @@ federatedIdentityLinkNotActiveMessage=Cette identit\u00e9 n''est plus active dor
 federatedIdentityRemovingLastProviderMessage=Vous ne pouvez pas supprimer votre derni\u00e8re f\u00e9d\u00e9ration d''identit\u00e9 sans avoir de mot de passe sp\u00e9cifi\u00e9.
 identityProviderRedirectErrorMessage=Erreur de redirection vers le fournisseur d''identit\u00e9.
 identityProviderRemovedMessage=Le fournisseur d''identit\u00e9 a \u00e9t\u00e9 supprim\u00e9 correctement.
+identityProviderAlreadyLinkedMessage=Le fournisseur d''identit\u00e9 retourn\u00e9 par {0} est d\u00e9j\u00e0 li\u00e9 \u00e0 un autre utilisateur.
 
 accountDisabledMessage=Ce compte est d\u00e9sactiv\u00e9, veuillez contacter votre administrateur.
 
diff --git a/forms/common-themes/src/main/resources/theme/base/login/messages/messages_fr.properties b/forms/common-themes/src/main/resources/theme/base/login/messages/messages_fr.properties
index 662e9d9..0f1fd2a 100644
--- a/forms/common-themes/src/main/resources/theme/base/login/messages/messages_fr.properties
+++ b/forms/common-themes/src/main/resources/theme/base/login/messages/messages_fr.properties
@@ -79,6 +79,11 @@ emailVerifyInstruction1=Un courriel avec des instructions \u00e0 suivre vous a \
 emailVerifyInstruction2=Vous n''avez pas re\u00e7u de code dans le courriel?
 emailVerifyInstruction3=Pour renvoyer le courriel.
 
+emailLinkIdpTitle=Link {0}
+emailLinkIdp1=An email with instructions to link {0} account {1} with your {2} account has been sent to you.
+emailLinkIdp2=Haven''t received a verification code in your email?
+emailLinkIdp3=to re-send the email.
+
 backToLogin=&laquo; Retour \u00e0 la connexion
 
 emailInstruction=Entrez votre nom d''utilisateur ou votre courriel, un courriel va vous \u00eatre envoy\u00e9 vous permettant de cr\u00e9er un nouveau mot de passe.
@@ -89,6 +94,7 @@ personalInfo=Information personnelle:
 role_admin=Administrateur
 role_realm-admin=Administrateur du domaine
 role_create-realm=Cr\u00e9er un domaine
+role_create-client=Cr\u00e9er un client
 role_view-realm=Voir un domaine
 role_view-users=Voir les utilisateurs
 role_view-applications=Voir les applications
@@ -107,6 +113,7 @@ role_read-token=Lire le jeton d''authentification
 role_offline-access=Acc\u00e9s hors-ligne
 client_account=Compte
 client_security-admin-console=Console d''administration de la s\u00e9curit\u00e9
+client_admin-cli=Admin CLI
 client_realm-management=Gestion du domaine
 client_broker=Broker
 
@@ -132,12 +139,18 @@ usernameExistsMessage=Le nom d''utilisateur existe d\u00e9j\u00e0.
 emailExistsMessage=Le courriel existe d\u00e9j\u00e0.
 
 federatedIdentityEmailExistsMessage=Cet utilisateur avec ce courriel existe d\u00e9j\u00e0. Veuillez vous connect\u00e9 au gestionnaire de compte pour lier le compte.
-federatedIdentityUsernameExistsMessage=Cet utilisateur avec ce nom d''utilisateur existe d\u00e9j\u00e0. Veuillez vous connect\u00e9 au gestionnaire de compte pour lier le compte.
+
+confirmLinkIdpTitle=Ce compte existe d\u00e9j\u00e0
+federatedIdentityConfirmLinkMessage=L''utilisateur {0} {1} existe d\u00e9j\u00e0. Que souhaitez-vous faire?
+federatedIdentityConfirmReauthenticateMessage=Identifiez vous en tant que {0} afin de lier votre compte avec {1}
+confirmLinkIdpReviewProfile=V\u00e9rifiez vos informations de profil
+confirmLinkIdpContinue=Souhaitez-vous lier {0} à votre compte existant
 
 configureTotpMessage=Vous devez configurer l''authentification par mobile pour activer votre compte.
 updateProfileMessage=Vous devez mettre \u00e0 jour votre profile pour activer votre compte.
 updatePasswordMessage=Vous devez changer votre mot de passe pour activer votre compte.
 verifyEmailMessage=Vous devez v\u00e9rifier votre courriel pour activer votre compte.
+linkIdpMessage=Vous devez v\u00e9rifier votre courriel pour lier votre compte avec {0}.
 
 emailSentMessage=Vous devriez recevoir rapidement un courriel avec de plus ample instructions.
 emailSendErrorMessage=Erreur lors de l''envoie du courriel, veuillez essayer plus tard.
@@ -156,7 +169,6 @@ invalidPasswordNotUsernameMessage=Mot de passe invalide: ne doit pas \u00eatre i
 invalidPasswordRegexPatternMessage=Mot de passe invalide: ne valide pas l''expression rationnelle.
 invalidPasswordHistoryMessage=Mot de passe invalide: ne doit pas \u00eatre \u00e9gal aux {0} derniers mot de passe.
 
-
 failedToProcessResponseMessage=Erreur lors du traitement de la r\u00e9ponse
 httpsRequiredMessage=Le protocole HTTPS est requis
 realmNotEnabledMessage=Le domaine n''est pas activ\u00e9
@@ -165,7 +177,8 @@ failedLogout=La d\u00e9connexion a \u00e9chou\u00e9e
 unknownLoginRequesterMessage=Compte inconnu du demandeur
 loginRequesterNotEnabledMessage=La connexion du demandeur n''est pas active
 bearerOnlyMessage=Les applications Bearer-only ne sont pas autoris\u00e9es \u00e0 initier la connexion par navigateur.
-directGrantsOnlyMessage=Les clients Direct-grants-only ne sont pas autoris\u00e9s \u00e0 initier la connexion par navigateur.
+standardFlowDisabledMessage=Le client n'est pas autoris\u00e9 \u00e0 initier un connexion avec le navigateur avec ce response_type. Le flux standard est d\u00e9sactiv\u00e9 pour le client.
+implicitFlowDisabledMessage=Le client n'est pas autoris\u00e9 \u00e0 initier un connexion avec le navigateur avec ce response_type. Le flux implicite est d\u00e9sactiv\u00e9 pour le client.
 invalidRedirectUriMessage=L''uri de redirection est invalide
 unsupportedNameIdFormatMessage=NameIDFormat non support\u00e9
 invlidRequesterMessage=Demandeur invalide
@@ -174,13 +187,13 @@ resetCredentialNotAllowedMessage=La remise \u00e0 z\u00e9ro n''est pas autoris\u
 
 permissionNotApprovedMessage=La permission n''est pas approuv\u00e9e.
 noRelayStateInResponseMessage=Aucun \u00e9tat de relais dans la r\u00e9ponse du fournisseur d''identit\u00e9.
-identityProviderAlreadyLinkedMessage=L''identit\u00e9 retourn\u00e9e par le fournisseur d''identit\u00e9 est d\u00e9j\u00e0 li\u00e9e avec un autre utilisateur.
 insufficientPermissionMessage=Permissions insuffisantes pour lier les identit\u00e9s.
 couldNotProceedWithAuthenticationRequestMessage=Impossible de continuer avec la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9.
 couldNotObtainTokenMessage=Impossible de r\u00e9cup\u00e9rer le jeton du fournisseur d''identit\u00e9.
 unexpectedErrorRetrievingTokenMessage=Erreur inattendue lors de la r\u00e9cup\u00e9ration du jeton provenant du fournisseur d''identit\u00e9.
 unexpectedErrorHandlingResponseMessage=Erreur inattendue lors du traitement de la r\u00e9ponse provenant du fournisseur d''identit\u00e9.
 identityProviderAuthenticationFailedMessage=L''authentification a \u00e9chou\u00e9e. Impossible de s''authentifier avec le fournisseur d''identit\u00e9.
+identityProviderDifferentUserMessage=Authentifi\u00e9 en tant que {0}, alors que l'authentification aurait du \u00eatre {1}
 couldNotSendAuthenticationRequestMessage=Impossible d''envoyer la requ\u00eate d''authentification vers le fournisseur d''identit\u00e9.
 unexpectedErrorHandlingRequestMessage=Erreur inattendue lors du traitement de la requ\u00eate vers le fournisseur d''identit\u00e9.
 invalidAccessCodeMessage=Code d''acc\u00e8s invalide.
@@ -188,6 +201,7 @@ sessionNotActiveMessage=La session n''est pas active.
 invalidCodeMessage=Une erreur est survenue, veuillez vous reconnecter \u00e0 votre application.
 identityProviderUnexpectedErrorMessage=Erreur inattendue lors de l''authentification avec fournisseur d''identit\u00e9.
 identityProviderNotFoundMessage=Impossible de trouver le fournisseur d''identit\u00e9 avec cet identifiant.
+identityProviderLinkSuccess=Votre compte a \u00e9t\u00e9 correctement li\u00e9 avec {0} compte {1} .
 realmSupportsNoCredentialsMessage=Ce domaine ne supporte aucun type d''accr\u00e9ditation.
 identityProviderNotUniqueMessage=Ce domaine autorise plusieurs fournisseurs d''identit\u00e9. Impossible de d\u00e9terminer le fournisseur d''identit\u00e9 avec lequel s''authentifier.
 emailVerifiedMessage=Votre courriel a \u00e9t\u00e9 v\u00e9rifi\u00e9.
@@ -199,7 +213,6 @@ locale_pt-BR=Portugu\u00EAs (Brasil)
 locale_fr=Fran\u00e7ais
 locale_es=Espa\u00F1ol
 
-
 backToApplication=&laquo; Revenir \u00e0 l''application
 missingParameterMessage=Param\u00e8tres manquants\: {0}
 clientNotFoundMessage=Client inconnu.
diff --git a/forms/common-themes/src/main/resources/theme/keycloak/email/messages/messages_fr.properties b/forms/common-themes/src/main/resources/theme/keycloak/email/messages/messages_fr.properties
index 20c6309..8c66385 100755
--- a/forms/common-themes/src/main/resources/theme/keycloak/email/messages/messages_fr.properties
+++ b/forms/common-themes/src/main/resources/theme/keycloak/email/messages/messages_fr.properties
@@ -1,21 +1,24 @@
-emailVerificationSubject=V\u00a9rification du courriel
-emailVerificationBody=Quelqu''un vient de cr\u00a9er un compte "{2}" avec votre courriel. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous afin de v\u00a9rifier votre adresse de courriel\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon ignorer ce message.
-emailVerificationBodyHtml=<p>Quelqu''un a cr\u00a9er un compte "{2}" avec votre courriel. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous afin de v\u00a9rifier votre adresse de courriel</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon veuillez ignorer ce message.</p>
-passwordResetSubject=R\u00a9initialiser le mot de passe
-passwordResetBody=Quelqu''un vient de demander une reinitialisation de mot de passe de votre compte {2}. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous pour le mettre \u00a0 jour .\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon ignorer ce message, aucun changement ne sera effectuer sur votre compte.
-passwordResetBodyHtml=<p>Quelqu''un vient de demander une reinitialisation de mot de passe de votre compte {2}. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous pour le mettre \u00a0 jour.</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon ignorer ce message, aucun changement ne sera effectuer sur votre compte.</p>
-executeActionsSubject=Mettre \u00a0 jour votre compte
-executeActionsBody=Votre adminitrateurvient de demander une mise \u00a0 jour de votre compte {2}. veuillez cliquer sur le lien ci-dessous afin commencer le processus.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSi vous n''etes pas au courant de cette requete, ignorer ce message, aucun changement ne sera effectuer sur votre compte.
-executeActionsBodyHtml=<p>Votre adminitrateurvient de demander une mise \u00a0 jour de votre compte {2}. veuillez cliquer sur le lien ci-dessous afin commencer le processus.</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Si vous n''etes pas au courant de cette requete, ignorer ce message, aucun changement ne sera effectuer sur votre compte.</p>
+emailVerificationSubject=V\u00e9rification du courriel
+emailVerificationBody=Quelqu''un vient de cr\u00e9er un compte "{2}" avec votre courriel. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous afin de v\u00e9rifier votre adresse de courriel\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon ignorer ce message.
+emailVerificationBodyHtml=<p>Quelqu''un a cr\u00e9er un compte "{2}" avec votre courriel. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous afin de v\u00e9rifier votre adresse de courriel</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon veuillez ignorer ce message.</p>
+identityProviderLinkSubject=Link {0}
+identityProviderLinkBody=Someone wants to link your "{1}" account with "{0}" account of user {2} . If this was you, click the link below to link accounts\n\n{3}\n\nThis link will expire within {4} minutes.\n\nIf you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.
+identityProviderLinkBodyHtml=<p>Someone wants to link your <b>{1}</b> account with <b>{0}</b> account of user {2} . If this was you, click the link below to link accounts</p><p><a href="{3}">{3}</a></p><p>This link will expire within {4} minutes.</p><p>If you don''t want to link account, just ignore this message. If you link accounts, you will be able to login to {1} through {0}.</p>
+passwordResetSubject=R\u00e9initialiser le mot de passe
+passwordResetBody=Quelqu''un vient de demander une r\u00e9initialisation de mot de passe pour votre compte {2}. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous pour le mettre \u00e0 jour .\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSinon ignorer ce message, aucun changement ne sera effectu\u00e9 sur votre compte.
+passwordResetBodyHtml=<p>Quelqu''un vient de demander une reinitialisation de mot de passe pour votre compte {2}. Si c''est bien vous, veuillez cliquer sur le lien ci-dessous pour le mettre \u00e0 jour.</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Sinon ignorer ce message, aucun changement ne sera effectu\u00e9 sur votre compte.</p>
+executeActionsSubject=Mettre \u00e0 jour votre compte
+executeActionsBody=Votre adminitrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin commencer le processus.\n\n{0}\n\nCe lien expire dans {1} minute(s).\n\nSi vous n''\u00eates pas au courant de cette requ\u00eate, ignorer ce message, aucun changement ne sera effectu\u00e9 sur votre compte.
+executeActionsBodyHtml=<p>Votre adminitrateur vient de demander une mise \u00e0 jour de votre compte {2}. Veuillez cliquer sur le lien ci-dessous afin commencer le processus.</p><p><a href="{0}">{0}</a></p><p>Ce lien expire dans {1} minute(s).</p><p>Si vous n''\u00eates pas au courant de cette requ\u00eate, ignorer ce message, aucun changement ne sera effectu\u00e9 sur votre compte.</p>
 eventLoginErrorSubject=Erreur de connexion
-eventLoginErrorBody=Une tentative de connexion a \u00a9t\u00a9 d\u00a9tect\u00a9e pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
-eventLoginErrorBodyHtml=<p>Une tentative de connexion a \u00a9t\u00a9 d\u00a9tect\u00a9e pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
+eventLoginErrorBody=Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
+eventLoginErrorBodyHtml=<p>Une tentative de connexion a \u00e9t\u00e9 d\u00e9tect\u00e9e sur votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
 eventRemoveTotpSubject=Suppression du TOTP
-eventRemoveTotpBody=Le TOTP a \u00a9t\u00a9 supprim\u00a9 de votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
-eventRemoveTotpBodyHtml=<p>Le TOTP a \u00a9t\u00a9 supprim\u00a9 de votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
-eventUpdatePasswordSubject=Mise \u00a0 jour du mot de passe
-eventUpdatePasswordBody=Votre mot de passe \u00a0 chang\u00a9 sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
-eventUpdatePasswordBodyHtml=<p>Votre mot de passe \u00a0 chang\u00a9 sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
-eventUpdateTotpSubject=Mise \u00a0 jour du TOTP
-eventUpdateTotpBody=Le TOTP a \u00a9t\u00a9 mis \u00a0 jour pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
-eventUpdateTotpBodyHtml=<p>Le TOTP a \u00a9t\u00a9 mis \u00a0 jour pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
+eventRemoveTotpBody=Le TOTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
+eventRemoveTotpBodyHtml=<p>Le TOTP a \u00e9t\u00e9 supprim\u00e9 de votre compte {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
+eventUpdatePasswordSubject=Mise \u00e0 jour du mot de passe
+eventUpdatePasswordBody=Votre mot de passe a chang\u00e9 pour votre compte {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
+eventUpdatePasswordBodyHtml=<p>Votre mot de passe \u00e0 chang\u00e9 pour votre compte {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>
+eventUpdateTotpSubject=Mise \u00e0 jour du TOTP
+eventUpdateTotpBody=Le TOTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.
+eventUpdateTotpBodyHtml=<p>Le TOTP a \u00e9t\u00e9 mis \u00e0 jour pour votre compte sur {0} depuis {1}. Si ce n''est pas vous, veuillez contacter votre administrateur.</p>

forms/pom.xml 4(+0 -4)

diff --git a/forms/pom.xml b/forms/pom.xml
index 0a1227c..0fa081b 100755
--- a/forms/pom.xml
+++ b/forms/pom.xml
@@ -15,11 +15,7 @@
 	<description />
 
     <modules>
-        <module>common-freemarker</module>
         <module>common-themes</module>
-        <module>account-freemarker</module>
-        <module>email-freemarker</module>
-        <module>login-freemarker</module>
     </modules>
 
 </project>
diff --git a/integration/js/src/main/resources/keycloak.js b/integration/js/src/main/resources/keycloak.js
index 265e3e5..928ed69 100755
--- a/integration/js/src/main/resources/keycloak.js
+++ b/integration/js/src/main/resources/keycloak.js
@@ -683,11 +683,6 @@
                 }
 
                 return oauth;
-            } else if (oauth.fragment) {
-                // logout has been performed, fragment needs to be updated in URL
-                oauth.newUrl += '#' + oauth.fragment;
-
-                return oauth;
             }
         }
 

model/jpa/pom.xml 27(+23 -4)

diff --git a/model/jpa/pom.xml b/model/jpa/pom.xml
index fb0b31a..06ba7c6 100755
--- a/model/jpa/pom.xml
+++ b/model/jpa/pom.xml
@@ -28,12 +28,21 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-jpa</artifactId>
+            <artifactId>keycloak-services</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-invalidation-cache-model</artifactId>
-            <scope>test</scope>
+            <groupId>org.liquibase</groupId>
+            <artifactId>liquibase-core</artifactId>
+            <exclusions>
+                <exclusion>
+                    <groupId>org.yaml</groupId>
+                    <artifactId>snakeyaml</artifactId>
+                </exclusion>
+            </exclusions>
+        </dependency>
+        <dependency>
+            <groupId>com.h2database</groupId>
+            <artifactId>h2</artifactId>
         </dependency>
         <dependency>
             <groupId>org.hibernate.javax.persistence</groupId>
@@ -61,6 +70,16 @@
                 </exclusion>
             </exclusions>
         </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
+            <groupId>com.fasterxml.jackson.core</groupId>
+            <artifactId>jackson-core</artifactId>
+            <scope>provided</scope>
+        </dependency>
     </dependencies>
     <build>
         <plugins>
diff --git a/model/mongo/pom.xml b/model/mongo/pom.xml
index d6ccf20..30801cc 100755
--- a/model/mongo/pom.xml
+++ b/model/mongo/pom.xml
@@ -31,11 +31,6 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-mongo</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
             <groupId>org.jboss.logging</groupId>
             <artifactId>jboss-logging</artifactId>
             <scope>provided</scope>

pom.xml 64(+2 -62)

diff --git a/pom.xml b/pom.xml
index e55e527..ea2053e 100755
--- a/pom.xml
+++ b/pom.xml
@@ -142,13 +142,13 @@
         <module>client-registration</module>
         <module>connections</module>
         <module>dependencies</module>
-        <module>events</module>
         <module>server-spi</module>
-        <module>model</module>
         <module>integration</module>
         <module>proxy</module>
         <module>federation</module>
         <module>services</module>
+        <module>model</module>
+        <module>events</module>
         <module>saml</module>
         <module>broker</module>
         <module>social</module>
@@ -622,41 +622,11 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-jpa</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-jpa-liquibase</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-mongo</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-http-client</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-client-registration-api</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-mongo-update</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-connections-truststore</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-common</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -682,16 +652,6 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-events-jpa</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-events-mongo</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-events-syslog</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -707,11 +667,6 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-account-freemarker</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-dependencies-server-min</artifactId>
                 <version>${project.version}</version>
                 <type>pom</type>
@@ -724,21 +679,11 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-forms-common-freemarker</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-forms-common-themes</artifactId>
                 <version>${project.version}</version>
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-email-freemarker</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-adapter-spi</artifactId>
                 <version>${project.version}</version>
             </dependency>
@@ -939,11 +884,6 @@
             </dependency>
             <dependency>
                 <groupId>org.keycloak</groupId>
-                <artifactId>keycloak-login-freemarker</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.keycloak</groupId>
                 <artifactId>keycloak-server-spi</artifactId>
                 <version>${project.version}</version>
             </dependency>
diff --git a/saml/saml-protocol/pom.xml b/saml/saml-protocol/pom.xml
index 73cd7ca..46a1bfd 100755
--- a/saml/saml-protocol/pom.xml
+++ b/saml/saml-protocol/pom.xml
@@ -35,21 +35,11 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-http-client</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-services</artifactId>
             <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-forms-common-freemarker</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-server-spi</artifactId>
             <scope>provided</scope>
         </dependency>
diff --git a/server-spi/pom.xml b/server-spi/pom.xml
index a4a213a..6c038c1 100755
--- a/server-spi/pom.xml
+++ b/server-spi/pom.xml
@@ -40,6 +40,11 @@
             <scope>provided</scope>
         </dependency>
         <dependency>
+            <groupId>org.apache.httpcomponents</groupId>
+            <artifactId>httpclient</artifactId>
+            <scope>provided</scope>
+        </dependency>
+        <dependency>
             <groupId>junit</groupId>
             <artifactId>junit</artifactId>
             <scope>test</scope>
diff --git a/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi b/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi
index 653074c..9a22e0f 100755
--- a/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi
+++ b/server-spi/src/main/resources/META-INF/services/org.keycloak.provider.Spi
@@ -22,4 +22,8 @@ org.keycloak.forms.account.AccountSpi
 org.keycloak.forms.login.LoginFormsSpi
 org.keycloak.email.EmailSenderSpi
 org.keycloak.email.EmailTemplateSpi
+org.keycloak.theme.ThemeSpi
+org.keycloak.truststore.TruststoreSpi
+org.keycloak.connections.httpclient.HttpClientSpi
+
 

services/pom.xml 9(+3 -6)

diff --git a/services/pom.xml b/services/pom.xml
index 915d04b..1f83ab4 100755
--- a/services/pom.xml
+++ b/services/pom.xml
@@ -31,12 +31,9 @@
             <artifactId>keycloak-core</artifactId>
         </dependency>
         <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-connections-http-client</artifactId>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-forms-common-freemarker</artifactId>
+            <groupId>org.freemarker</groupId>
+            <artifactId>freemarker</artifactId>
+            <scope>provided</scope>
         </dependency>
         <dependency>
             <groupId>javax.mail</groupId>
diff --git a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
old mode 100644
new mode 100755
index 5f7f68b..bbb3310
--- a/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
+++ b/services/src/main/java/org/keycloak/email/DefaultEmailSenderProvider.java
@@ -1,8 +1,8 @@
 package org.keycloak.email;
 
 import org.jboss.logging.Logger;
-import org.keycloak.connections.truststore.HostnameVerificationPolicy;
-import org.keycloak.connections.truststore.JSSETruststoreConfigurator;
+import org.keycloak.truststore.HostnameVerificationPolicy;
+import org.keycloak.truststore.JSSETruststoreConfigurator;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.models.RealmModel;
 import org.keycloak.models.UserModel;
diff --git a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
index c27f3a4..8f68a27 100755
--- a/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
+++ b/services/src/main/java/org/keycloak/services/managers/AuthenticationManager.java
@@ -121,7 +121,7 @@ public class AuthenticationManager {
             backchannelLogoutClientSession(session, realm, clientSession, userSession, uriInfo, headers);
         }
         if (logoutBroker) {
-            String brokerId = userSession.getNote(IdentityBrokerService.BROKER_PROVIDER_ID);
+            String brokerId = userSession.getNote(Details.IDENTITY_PROVIDER);
             if (brokerId != null) {
                 IdentityProvider identityProvider = IdentityBrokerService.getIdentityProvider(session, realm, brokerId);
                 try {
@@ -220,7 +220,7 @@ public class AuthenticationManager {
             }
 
         }
-        String brokerId = userSession.getNote(IdentityBrokerService.BROKER_PROVIDER_ID);
+        String brokerId = userSession.getNote(Details.IDENTITY_PROVIDER);
         if (brokerId != null) {
             IdentityProvider identityProvider = IdentityBrokerService.getIdentityProvider(session, realm, brokerId);
             Response response = identityProvider.keycloakInitiatedBrowserLogout(userSession, uriInfo, realm);
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
index 89927f3..bf1a69b 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/AdminConsole.java
@@ -8,11 +8,11 @@ import org.jboss.resteasy.spi.HttpResponse;
 import org.jboss.resteasy.spi.NotFoundException;
 import org.keycloak.common.ClientConnection;
 import org.keycloak.common.Version;
-import org.keycloak.freemarker.BrowserSecurityHeaderSetup;
-import org.keycloak.freemarker.FreeMarkerException;
-import org.keycloak.freemarker.FreeMarkerUtil;
-import org.keycloak.freemarker.Theme;
-import org.keycloak.freemarker.ThemeProvider;
+import org.keycloak.theme.BrowserSecurityHeaderSetup;
+import org.keycloak.theme.FreeMarkerException;
+import org.keycloak.theme.FreeMarkerUtil;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
 import org.keycloak.models.AdminRoles;
 import org.keycloak.models.ClientModel;
 import org.keycloak.models.Constants;
diff --git a/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java b/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
index 624b38f..cd288b7 100755
--- a/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/admin/info/ServerInfoAdminResource.java
@@ -16,8 +16,8 @@ import org.keycloak.broker.provider.IdentityProvider;
 import org.keycloak.broker.provider.IdentityProviderFactory;
 import org.keycloak.events.EventType;
 import org.keycloak.events.admin.OperationType;
-import org.keycloak.freemarker.Theme;
-import org.keycloak.freemarker.ThemeProvider;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.models.ProtocolMapperModel;
 import org.keycloak.models.utils.ModelToRepresentation;
diff --git a/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java b/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
index 20c2897..823917b 100755
--- a/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
+++ b/services/src/main/java/org/keycloak/services/resources/IdentityBrokerService.java
@@ -94,7 +94,6 @@ import static org.keycloak.models.Constants.ACCOUNT_MANAGEMENT_CLIENT_ID;
 public class IdentityBrokerService implements IdentityProvider.AuthenticationCallback {
 
     private static final Logger LOGGER = Logger.getLogger(IdentityBrokerService.class);
-    public static final String BROKER_PROVIDER_ID = "BROKER_PROVIDER_ID";
 
     private final RealmModel realmModel;
 
@@ -514,7 +513,8 @@ public class IdentityBrokerService implements IdentityProvider.AuthenticationCal
 
         TokenManager.attachClientSession(userSession, clientSession);
         context.getIdp().attachUserSession(userSession, clientSession, context);
-        userSession.setNote(BROKER_PROVIDER_ID, providerId);
+        userSession.setNote(Details.IDENTITY_PROVIDER, providerId);
+        userSession.setNote(Details.IDENTITY_PROVIDER_USERNAME, context.getUsername());
 
         if (isDebugEnabled()) {
             LOGGER.debugf("Performing local authentication for user [%s].", federatedUser);
diff --git a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
index 6f654b8..87b390b 100755
--- a/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
+++ b/services/src/main/java/org/keycloak/services/resources/LoginActionsService.java
@@ -776,7 +776,10 @@ public class LoginActionsService {
                 .detail(Details.AUTH_METHOD, userSession.getAuthMethod())
                 .detail(Details.USERNAME, userSession.getLoginUsername())
                 .detail(Details.RESPONSE_TYPE, responseType)
-                .detail(Details.RESPONSE_MODE, responseMode.toString().toLowerCase());
+                .detail(Details.RESPONSE_MODE, responseMode.toString().toLowerCase())
+                .detail(Details.IDENTITY_PROVIDER, userSession.getNote(Details.IDENTITY_PROVIDER))
+                .detail(Details.IDENTITY_PROVIDER_USERNAME, userSession.getNote(Details.IDENTITY_PROVIDER_USERNAME));
+
         if (userSession.isRememberMe()) {
             event.detail(Details.REMEMBER_ME, "true");
         }
diff --git a/services/src/main/java/org/keycloak/services/resources/ThemeResource.java b/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
index c9b3c6c..1bc5f49 100755
--- a/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/ThemeResource.java
@@ -2,8 +2,8 @@ package org.keycloak.services.resources;
 
 import org.jboss.logging.Logger;
 import org.keycloak.common.Version;
-import org.keycloak.freemarker.Theme;
-import org.keycloak.freemarker.ThemeProvider;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.common.util.MimeTypeUtil;
 import org.keycloak.services.util.CacheControlUtil;
diff --git a/services/src/main/java/org/keycloak/services/resources/WelcomeResource.java b/services/src/main/java/org/keycloak/services/resources/WelcomeResource.java
index 3e6bf36..9b0dfac 100755
--- a/services/src/main/java/org/keycloak/services/resources/WelcomeResource.java
+++ b/services/src/main/java/org/keycloak/services/resources/WelcomeResource.java
@@ -2,9 +2,9 @@ package org.keycloak.services.resources;
 
 import org.jboss.logging.Logger;
 import org.keycloak.Config;
-import org.keycloak.freemarker.FreeMarkerUtil;
-import org.keycloak.freemarker.Theme;
-import org.keycloak.freemarker.ThemeProvider;
+import org.keycloak.theme.FreeMarkerUtil;
+import org.keycloak.theme.Theme;
+import org.keycloak.theme.ThemeProvider;
 import org.keycloak.models.KeycloakSession;
 import org.keycloak.common.util.MimeTypeUtil;
 import org.keycloak.services.managers.ApplianceBootstrap;
diff --git a/services/src/main/resources/META-INF/services/org.keycloak.forms.login.LoginFormsProviderFactory b/services/src/main/resources/META-INF/services/org.keycloak.forms.login.LoginFormsProviderFactory
new file mode 100755
index 0000000..56e2351
--- /dev/null
+++ b/services/src/main/resources/META-INF/services/org.keycloak.forms.login.LoginFormsProviderFactory
@@ -0,0 +1 @@
+org.keycloak.forms.login.freemarker.FreeMarkerLoginFormsProviderFactory
\ No newline at end of file
diff --git a/services/src/main/resources/META-INF/services/org.keycloak.truststore.TruststoreProviderFactory b/services/src/main/resources/META-INF/services/org.keycloak.truststore.TruststoreProviderFactory
new file mode 100755
index 0000000..a154bbb
--- /dev/null
+++ b/services/src/main/resources/META-INF/services/org.keycloak.truststore.TruststoreProviderFactory
@@ -0,0 +1 @@
+org.keycloak.truststore.FileTruststoreProviderFactory
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/servers/eap7/pom.xml b/testsuite/integration-arquillian/servers/eap7/pom.xml
index 67110ef..81d4ef8 100644
--- a/testsuite/integration-arquillian/servers/eap7/pom.xml
+++ b/testsuite/integration-arquillian/servers/eap7/pom.xml
@@ -21,24 +21,6 @@
                     <skip>true</skip>
                 </configuration>
             </plugin>            
-            <plugin>
-                <artifactId>maven-assembly-plugin</artifactId>
-                <executions>
-                    <execution>
-                        <id>create-zip</id>
-                        <phase>package</phase>
-                        <goals>
-                            <goal>single</goal>
-                        </goals>
-                        <configuration>
-                            <descriptors>
-                                <descriptor>assembly.xml</descriptor>
-                            </descriptors>
-                            <appendAssemblyId>false</appendAssemblyId>
-                        </configuration>
-                    </execution>
-                </executions>
-            </plugin>
         </plugins>
     </build>
     
@@ -46,16 +28,8 @@
         <profile>
             <id>auth-server-eap7</id>
             <properties>
-                <keycloak.server.home>${project.build.directory}/unpacked/jboss-iam-1.0</keycloak.server.home>
+                <keycloak.server.home>${project.build.directory}/unpacked/${unpacked.container.folder.name}</keycloak.server.home>
             </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.keycloak</groupId>
-                    <artifactId>keycloak-eap6-server-dist</artifactId>
-                    <version>${version.server.dist}</version>
-                    <type>zip</type>
-                </dependency>
-            </dependencies>
             <build>
                 <plugins>
                     <plugin>
@@ -72,6 +46,9 @@
                                         <requireProperty>
                                             <property>version.server.dist</property>
                                         </requireProperty>
+                                        <requireProperty>
+                                            <property>unpacked.container.folder.name</property>
+                                        </requireProperty>
                                     </rules>
                                 </configuration>
                             </execution>
@@ -101,6 +78,24 @@
                             </execution>
                         </executions>
                     </plugin>
+                    <plugin>
+                        <artifactId>maven-assembly-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>create-zip</id>
+                                <phase>package</phase>
+                                <goals>
+                                    <goal>single</goal>
+                                </goals>
+                                <configuration>
+                                    <descriptors>
+                                        <descriptor>assembly.xml</descriptor>
+                                    </descriptors>
+                                    <appendAssemblyId>false</appendAssemblyId>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
                 </plugins>
             </build>
         </profile>
diff --git a/testsuite/integration-arquillian/servers/wildfly/pom.xml b/testsuite/integration-arquillian/servers/wildfly/pom.xml
index 99fc577..90087a3 100644
--- a/testsuite/integration-arquillian/servers/wildfly/pom.xml
+++ b/testsuite/integration-arquillian/servers/wildfly/pom.xml
@@ -120,13 +120,6 @@
             <properties>
                 <keycloak.server.home>${project.build.directory}/unpacked/keycloak-${project.version}</keycloak.server.home>
             </properties>
-            <dependencies>
-                <dependency>
-                    <groupId>org.keycloak</groupId>
-                    <artifactId>keycloak-server-dist</artifactId>
-                    <type>zip</type>
-                </dependency>
-            </dependencies>
             <build>
                 <plugins>
                     <plugin>
@@ -164,18 +157,6 @@
                     <name>!adapter.libs.bundled</name>
                 </property>
             </activation>
-            <dependencies>
-                <dependency>
-                    <groupId>org.keycloak</groupId>
-                    <artifactId>keycloak-wildfly-adapter-dist</artifactId>
-                    <type>zip</type>
-                </dependency>
-                <dependency>
-                    <groupId>org.keycloak</groupId>
-                    <artifactId>keycloak-saml-wildfly-adapter-dist</artifactId>
-                    <type>zip</type>
-                </dependency>
-            </dependencies>
             <build>
                 <plugins>
                     <plugin>
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/pom.xml b/testsuite/integration-arquillian/tests/adapters/eap7/pom.xml
new file mode 100644
index 0000000..c935ea0
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/pom.xml
@@ -0,0 +1,180 @@
+<?xml version="1.0"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+    <parent>
+        <groupId>org.keycloak.testsuite</groupId>
+        <artifactId>integration-arquillian-tests-adapters</artifactId>
+        <version>1.9.0.CR1-SNAPSHOT</version>
+    </parent>
+    <modelVersion>4.0.0</modelVersion>
+
+    <artifactId>integration-arquillian-adapters-eap7</artifactId>
+    <name>Adapter Tests on EAP 7</name>
+    
+    
+    <build>
+        <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin> 
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+        </plugins>
+    </build>
+    
+    <profiles>
+        <profile>
+            <id>app-server-eap7</id>
+            <properties>
+                <app.server.eap7.home>${containers.home}/jboss-eap-7.0</app.server.eap7.home>
+                <adapter.libs.eap7>${containers.home}/keycloak-eap7-adapter-dist</adapter.libs.eap7>
+            </properties>
+<!--            <dependencies>
+                <dependency>
+                    <groupId>org.wildfly</groupId>
+                    <artifactId>wildfly-arquillian-container-managed</artifactId>
+                </dependency>
+            </dependencies>-->
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-enforcer-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>enforce-properties</id>
+                                <goals>
+                                    <goal>enforce</goal>
+                                </goals>
+                                <configuration>
+                                    <rules>
+                                        <requireProperty>
+                                            <property>version.eap7.dist</property>
+                                        </requireProperty>
+                                        <requireProperty>
+                                            <property>version.adapter.dist</property>
+                                        </requireProperty>
+                                    </rules>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-dependency-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>unpack-eap7-with-adapters</id>
+                                <phase>generate-resources</phase>
+                                <goals>
+                                    <goal>unpack</goal>
+                                </goals>
+                                <configuration>
+                                    <artifactItems>
+                                        <artifactItem>
+                                            <groupId>org.jboss.eap</groupId>
+                                            <artifactId>wildfly-dist</artifactId>
+                                            <version>${version.eap7.dist}</version>
+                                            <type>zip</type>
+                                            <outputDirectory>${containers.home}</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.keycloak</groupId>
+                                            <artifactId>keycloak-wildfly-adapter-dist</artifactId>
+                                            <version>${version.adapter.dist}</version>
+                                            <type>zip</type>
+                                            <outputDirectory>${adapter.libs.eap7}</outputDirectory>
+                                        </artifactItem>
+                                        <artifactItem>
+                                            <groupId>org.keycloak</groupId>
+                                            <artifactId>keycloak-saml-wildfly-adapter-dist</artifactId>
+                                            <version>${version.adapter.dist}</version>
+                                            <type>zip</type>
+                                            <outputDirectory>${adapter.libs.eap7}</outputDirectory>
+                                        </artifactItem>
+                                    </artifactItems>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                    <plugin>
+                        <groupId>org.apache.maven.plugins</groupId>
+                        <artifactId>maven-surefire-plugin</artifactId>
+                        <configuration>
+                            <skip>false</skip>
+                            <systemPropertyVariables>
+                                <app.server.eap7>true</app.server.eap7>
+                                <app.server.eap7.home>${app.server.eap7.home}</app.server.eap7.home>
+                                <adapter.libs.eap7>${adapter.libs.eap7}</adapter.libs.eap7>
+                            </systemPropertyVariables>
+                        </configuration>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+    
+        <profile>
+            <id>adapter-jdk</id>
+            <activation>
+                <property>
+                    <name>adapter.jdk</name>
+                </property>
+            </activation>
+            <build>
+                <plugins>
+                    <plugin>
+                        <groupId>org.codehaus.mojo</groupId>
+                        <artifactId>xml-maven-plugin</artifactId>
+                        <executions>
+                            <execution>
+                                <id>add-java-home-to-arquillian-xml</id>
+                                <phase>process-resources</phase>
+                                <goals>
+                                    <goal>transform</goal>
+                                </goals>
+                                <configuration>
+                                    <transformationSets>
+                                        <transformationSet>
+                                            <dir>${project.build.directory}/dependency</dir>
+                                            <includes>
+                                                <include>arquillian.xml</include>
+                                            </includes>
+                                            <stylesheet>src/main/xslt/arquillian_jdk.xsl</stylesheet>
+                                            <parameters>
+                                                <parameter>
+                                                    <name>javaHome</name>
+                                                    <value>${adapter.jdk}</value>
+                                                </parameter>
+                                            </parameters>
+                                            <outputDir>${project.build.directory}/dependency</outputDir>
+                                        </transformationSet>
+                                    </transformationSets>
+                                </configuration>
+                            </execution>
+                        </executions>
+                    </plugin>
+                </plugins>
+            </build>
+        </profile>
+        <profile>
+            <id>adapter-libs-provided</id>
+            <activation>    
+                <property>
+                    <name>!adapter.libs.bundled</name>
+                </property>
+            </activation>
+            <properties>
+                <adapter.libs.eap7>${app.server.eap7.home}</adapter.libs.eap7>
+            </properties>
+        </profile>
+    </profiles>
+</project>
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian.xsl b/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian.xsl
new file mode 100644
index 0000000..3c992bb
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian.xsl
@@ -0,0 +1,35 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xalan="http://xml.apache.org/xalan"
+                xmlns:a="http://jboss.org/schema/arquillian"
+                version="2.0"
+                exclude-result-prefixes="xalan a">
+
+    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
+    <xsl:strip-space elements="*"/>
+
+    <xsl:template match="/a:arquillian">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+            
+            <container qualifier="app-server-eap7" mode="manual" >
+                <configuration>
+                    <property name="enabled">${app.server.eap7}</property>
+                    <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
+                    <property name="jbossHome">${app.server.eap7.home}</property>
+                    <property name="javaVmArguments">-Djboss.socket.binding.port-offset=${app.server.port.offset} -Xms64m -Xmx512m -XX:MaxPermSize=256m ${adapter.test.props}</property>
+                    <property name="managementPort">${app.server.management.port}</property>
+                </configuration>
+            </container>
+
+        </xsl:copy>
+    </xsl:template>
+    
+
+    <xsl:template match="@*|node()">
+        <xsl:copy>
+            <xsl:apply-templates select="@*|node()" />
+        </xsl:copy>
+    </xsl:template>
+    
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian_jdk.xsl b/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian_jdk.xsl
new file mode 100644
index 0000000..ce5cef5
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/main/xslt/arquillian_jdk.xsl
@@ -0,0 +1,30 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+                xmlns:xalan="http://xml.apache.org/xalan"
+                xmlns:a="http://jboss.org/schema/arquillian"
+                version="2.0"
+                exclude-result-prefixes="xalan a">
+
+    <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" xalan:indent-amount="4" standalone="no"/>
+    <xsl:strip-space elements="*"/>
+
+    <xsl:param name="javaHome"/>
+        
+    <xsl:template match="//*[local-name()='container' and @qualifier='app-server-eap7']/*[local-name()='configuration']">
+        <xsl:copy>
+            <xsl:apply-templates select="node()|@*"/>
+            
+                <property name="javaHome">
+                    <xsl:value-of select="$javaHome"/>
+                </property>
+        </xsl:copy>
+    </xsl:template>
+    
+
+    <xsl:template match="@*|node()">
+        <xsl:copy>
+            <xsl:apply-templates select="@*|node()" />
+        </xsl:copy>
+    </xsl:template>
+    
+
+</xsl:stylesheet>
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7BasicAuthExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7BasicAuthExampleAdapterTest.java
new file mode 100644
index 0000000..99788f2
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7BasicAuthExampleAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAP7BasicAuthExampleAdapterTest extends AbstractBasicAuthExampleAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7CorsExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7CorsExampleAdapterTest.java
new file mode 100644
index 0000000..9ec6ec9
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7CorsExampleAdapterTest.java
@@ -0,0 +1,15 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+
+/**
+ * @author fkiss
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+@Ignore //cannot find web.xml in target/examples
+public class EAP7CorsExampleAdapterTest extends AbstractCorsExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7DemoExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7DemoExampleAdapterTest.java
new file mode 100644
index 0000000..ae90768
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7DemoExampleAdapterTest.java
@@ -0,0 +1,15 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAP7DemoExampleAdapterTest extends AbstractDemoExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7JSConsoleExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7JSConsoleExampleAdapterTest.java
new file mode 100644
index 0000000..ca6276c
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7JSConsoleExampleAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+/**
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+@Ignore //jsconsole example has hardcoded relative path to keycloak.js
+public class EAP7JSConsoleExampleAdapterTest extends AbstractJSConsoleExampleAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7SAMLExampleAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7SAMLExampleAdapterTest.java
new file mode 100644
index 0000000..9ab9b97
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/example/EAP7SAMLExampleAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter.example;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAP7SAMLExampleAdapterTest extends AbstractSAMLExampleAdapterTest {
+
+}
\ No newline at end of file
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7DemoServletsAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7DemoServletsAdapterTest.java
new file mode 100644
index 0000000..eab9842
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7DemoServletsAdapterTest.java
@@ -0,0 +1,16 @@
+package org.keycloak.testsuite.adapter.servlet;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+import org.junit.Ignore;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+@Ignore //failing tests
+public class EAP7DemoServletsAdapterTest extends AbstractDemoServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SAMLServletsAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SAMLServletsAdapterTest.java
new file mode 100644
index 0000000..d4b460f
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SAMLServletsAdapterTest.java
@@ -0,0 +1,13 @@
+package org.keycloak.testsuite.adapter.servlet;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ * @author mhajas
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAP7SAMLServletsAdapterTest extends AbstractSAMLServletsAdapterTest {
+
+}
diff --git a/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SessionServletAdapterTest.java b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SessionServletAdapterTest.java
new file mode 100644
index 0000000..e59432e
--- /dev/null
+++ b/testsuite/integration-arquillian/tests/adapters/eap7/src/test/java/org/keycloak/testsuite/adapter/servlet/EAP7SessionServletAdapterTest.java
@@ -0,0 +1,14 @@
+package org.keycloak.testsuite.adapter.servlet;
+
+import org.keycloak.testsuite.arquillian.annotation.AdapterLibsLocationProperty;
+import org.keycloak.testsuite.arquillian.annotation.AppServerContainer;
+
+/**
+ *
+ * @author tkyjovsk
+ */
+@AppServerContainer("app-server-eap7")
+@AdapterLibsLocationProperty("adapter.libs.eap7")
+public class EAP7SessionServletAdapterTest extends AbstractSessionServletAdapterTest {
+
+}
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 11c17f0..3fffb24 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
@@ -95,28 +95,32 @@ public abstract class AbstractAdapterTest extends AbstractAuthTest {
     }
 
     protected void modifyClientWebOrigins(RealmRepresentation realm, String regex, String replacement) {
-        for (ClientRepresentation client : realm.getClients()) {
-            List<String> webOrigins = client.getWebOrigins();
-            if (webOrigins != null) {
-                List<String> newWebOrigins = new ArrayList<>();
-                for (String uri : webOrigins) {
-                    newWebOrigins.add(uri.replaceAll(regex, replacement));
+        if (realm.getClients() != null) {
+            for (ClientRepresentation client : realm.getClients()) {
+                List<String> webOrigins = client.getWebOrigins();
+                if (webOrigins != null) {
+                    List<String> newWebOrigins = new ArrayList<>();
+                    for (String uri : webOrigins) {
+                        newWebOrigins.add(uri.replaceAll(regex, replacement));
+                    }
+                    client.setWebOrigins(newWebOrigins);
                 }
-                client.setWebOrigins(newWebOrigins);
             }
         }
     }
 
     protected void modifySamlMasterURLs(RealmRepresentation realm, String regex, String replacement) {
-        for (ClientRepresentation client : realm.getClients()) {
-            if (client.getProtocol() != null && client.getProtocol().equals("saml")) {
-                log.info("Modifying master URL of SAML client: " + client.getClientId());
-                String masterUrl = client.getAdminUrl();
-                if (masterUrl == null) {
-                    masterUrl = client.getBaseUrl();
+        if (realm.getClients() != null) {
+            for (ClientRepresentation client : realm.getClients()) {
+                if (client.getProtocol() != null && client.getProtocol().equals("saml")) {
+                    log.info("Modifying master URL of SAML client: " + client.getClientId());
+                    String masterUrl = client.getAdminUrl();
+                    if (masterUrl == null) {
+                        masterUrl = client.getBaseUrl();
+                    }
+                    masterUrl = masterUrl.replaceFirst(regex, replacement);
+                    client.setAdminUrl(masterUrl);
                 }
-                masterUrl = masterUrl.replaceFirst(regex, replacement);
-                client.setAdminUrl(masterUrl);
             }
         }
     }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/adapter-test/demorealm.json b/testsuite/integration-arquillian/tests/base/src/test/resources/adapter-test/demorealm.json
index 70dc85a..1c3ca75 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/adapter-test/demorealm.json
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/adapter-test/demorealm.json
@@ -121,19 +121,19 @@
             "name": "customer-portal",
             "enabled": true,
             "directAccessGrantsEnabled": true,
-            "adminUrl": "http://localhost:8081/customer-portal",
-            "baseUrl": "http://localhost:8081/customer-portal",
+            "adminUrl": "/customer-portal",
+            "baseUrl": "/customer-portal",
             "redirectUris": [
-                "http://localhost:8081/customer-portal/*"
+                "/customer-portal/*"
             ],
             "secret": "password"
         },
         {
             "name": "customer-cookie-portal",
             "enabled": true,
-            "baseUrl": "http://localhost:8081/customer-cookie-portal",
+            "baseUrl": "/customer-cookie-portal",
             "redirectUris": [
-                "http://localhost:8081/customer-cookie-portal/*"
+                "/customer-cookie-portal/*"
             ],
             "secret": "password"
         },
@@ -141,10 +141,10 @@
             "name": "customer-portal-js",
             "enabled": true,
             "publicClient": true,
-            "adminUrl": "http://localhost:8081/customer-portal-js",
-            "baseUrl": "http://localhost:8081/customer-portal-js",
+            "adminUrl": "/customer-portal-js",
+            "baseUrl": "/customer-portal-js",
             "redirectUris": [
-                "http://localhost:8080/customer-portal-js/*"
+                "/customer-portal-js/*"
             ]
         },
         {
@@ -159,21 +159,21 @@
         {
             "name": "product-portal",
             "enabled": true,
-            "adminUrl": "http://localhost:8081/product-portal",
-            "baseUrl": "http://localhost:8081/product-portal",
+            "adminUrl": "/product-portal",
+            "baseUrl": "/product-portal",
             "redirectUris": [
-                "http://localhost:8081/product-portal/*"
+                "/product-portal/*"
             ],
             "secret": "password"
         },
         {
             "name": "secure-portal",
             "enabled": true,
-            "adminUrl": "http://localhost:8081/secure-portal",
-            "baseUrl": "http://localhost:8081/secure-portal",
+            "adminUrl": "/secure-portal",
+            "baseUrl": "/secure-portal",
             "clientAuthenticatorType": "client-jwt",
             "redirectUris": [
-                "http://localhost:8081/secure-portal/*"
+                "/secure-portal/*"
             ],
             "attributes": {
                 "jwt.credential.certificate": "MIICnTCCAYUCBgFPPLDaTzANBgkqhkiG9w0BAQsFADASMRAwDgYDVQQDDAdjbGllbnQxMB4XDTE1MDgxNzE3MjI0N1oXDTI1MDgxNzE3MjQyN1owEjEQMA4GA1UEAwwHY2xpZW50MTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAIUjjgv+V3s96O+Za9002Lp/trtGuHBeaeVL9dFKMKzO2MPqdRmHB4PqNlDdd28Rwf5Xn6iWdFpyUKOnI/yXDLhdcuFpR0sMNK/C9Lt+hSpPFLuzDqgtPgDotlMxiHIWDOZ7g9/gPYNXbNvjv8nSiyqoguoCQiiafW90bPHsiVLdP7ZIUwCcfi1qQm7FhxRJ1NiW5dvUkuCnnWEf0XR+Wzc5eC9EgB0taLFiPsSEIlWMm5xlahYyXkPdNOqZjiRnrTWm5Y4uk8ZcsD/KbPTf/7t7cQXipVaswgjdYi1kK2/zRwOhg1QwWFX/qmvdd+fLxV0R6VqRDhn7Qep2cxwMxLsCAwEAATANBgkqhkiG9w0BAQsFAAOCAQEAKE6OA46sf20bz8LZPoiNsqRwBUDkaMGXfnob7s/hJZIIwDEx0IAQ3uKsG7q9wb+aA6s+v7S340zb2k3IxuhFaHaZpAd4CyR5cn1FHylbzoZ7rI/3ASqHDqpljdJaFqPH+m7nZWtyDvtZf+gkZ8OjsndwsSBK1d/jMZPp29qYbl1+XfO7RCp/jDqro/R3saYFaIFiEZPeKn1hUJn6BO48vxH1xspSu9FmlvDOEAOz4AuM58z4zRMP49GcFdCWr1wkonJUHaSptJaQwmBwLFUkCbE5I1ixGMb7mjEud6Y5jhfzJiZMo2U8RfcjNbrN0diZl3jB6LQIwESnhYSghaTjNQ=="
@@ -182,20 +182,20 @@
         {
             "name": "session-portal",
             "enabled": true,
-            "adminUrl": "http://localhost:8081/session-portal",
-            "baseUrl": "http://localhost:8081/session-portal",
+            "adminUrl": "/session-portal",
+            "baseUrl": "/session-portal",
             "redirectUris": [
-                "http://localhost:8081/session-portal/*"
+                "/session-portal/*"
             ],
             "secret": "password"
         },
         {
             "name": "input-portal",
             "enabled": true,
-            "adminUrl": "http://localhost:8081/input-portal",
-            "baseUrl": "http://localhost:8081/input-portal",
+            "adminUrl": "/input-portal",
+            "baseUrl": "/input-portal",
             "redirectUris": [
-                "http://localhost:8081/input-portal/*"
+                "/input-portal/*"
             ],
             "secret": "password"
         }
@@ -205,8 +205,8 @@
             "name": "third-party",
             "enabled": true,
             "redirectUris": [
-                "http://localhost:8081/oauth-client/*",
-                "http://localhost:8081/oauth-client-cdi/*"
+                "/oauth-client/*",
+                "/oauth-client-cdi/*"
             ],
             "secret": "password"
         }
diff --git a/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml b/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
index afc3334..daee3a7 100644
--- a/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
+++ b/testsuite/integration-arquillian/tests/base/src/test/resources/arquillian.xml
@@ -129,8 +129,11 @@
             <property name="adapterImplClass">org.jboss.as.arquillian.container.managed.ManagedDeployableContainer</property>
             <property name="jbossHome">${keycloak.home}</property>
             <property name="javaVmArguments">-Djboss.socket.binding.port-offset=${auth.server.port.offset} -Xms64m -Xmx512m -XX:MaxPermSize=256m ${adapter.test.props}</property>
-            <property name="managementPort">${auth.server.management.port}</property>
             <property name="startupTimeoutInSeconds">${startup.timeout.sec}</property>
+            
+            <!--<property name="managementPort">${auth.server.management.port}</property>-->
+            <property name="managementPort">${auth.server.management.port.jmx}</property>
+            <property name="managementProtocol">remote</property>
         </configuration>
     </container>
     
diff --git a/testsuite/integration-arquillian/tests/pom.xml b/testsuite/integration-arquillian/tests/pom.xml
index 25f7b0d..8696a96 100644
--- a/testsuite/integration-arquillian/tests/pom.xml
+++ b/testsuite/integration-arquillian/tests/pom.xml
@@ -26,6 +26,7 @@
     <properties>
         <containers.home>${project.build.directory}/containers</containers.home>
         <examples.home>${project.build.directory}/examples</examples.home>
+        <jboss.server.config.dir>${project.build.directory}/undertow-configuration</jboss.server.config.dir>
 
         <auth.server.container>auth-server-undertow</auth.server.container>
         <auth.server.port.offset>100</auth.server.port.offset>
@@ -45,11 +46,10 @@
         <arquillian-graphene.version>2.1.0.Alpha2</arquillian-graphene.version>
         <arquillian-wildfly-container.version>8.2.0.Final</arquillian-wildfly-container.version>
         <version.shrinkwrap.resolvers>2.1.1</version.shrinkwrap.resolvers>
+        
         <skip.unpack.server>true</skip.unpack.server>
         <skip.unpack.migrated.server>true</skip.unpack.migrated.server>
         <skip.install.adapters>true</skip.install.adapters>
-        
-        <jboss.server.config.dir>${project.build.directory}/undertow-configuration</jboss.server.config.dir>
     </properties>
 
     <dependencyManagement>
@@ -172,7 +172,7 @@
                                 <goal>copy-resources</goal>
                             </goals>
                             <configuration>
-                                <outputDirectory>${project.build.directory}/undertow-configuration</outputDirectory>
+                                <outputDirectory>${jboss.server.config.dir}</outputDirectory>
                                 <resources>
                                     <resource>
                                         <directory>src/test/resources</directory>
@@ -454,30 +454,6 @@
                                 </systemPropertyVariables>
                             </configuration>
                         </plugin>
-                        <plugin>
-                            <artifactId>maven-resources-plugin</artifactId>
-                            <executions>
-                                <execution>
-                                    <id>copy-admin-user-json-file</id>
-                                    <phase>process-resources</phase>
-                                    <goals>
-                                        <goal>copy-resources</goal>
-                                    </goals>
-                                    <configuration>
-                                        <outputDirectory>${jboss.server.config.dir}</outputDirectory>
-                                        <resources>
-                                            <resource>
-                                                <directory>src/test/resources</directory>
-                                                <includes>
-                                                    <include>keycloak-add-user.json</include>
-                                                </includes>
-                                                <filtering>true</filtering>
-                                            </resource>
-                                        </resources>
-                                    </configuration>
-                                </execution>
-                            </executions>
-                        </plugin>
                     </plugins>
                 </pluginManagement>
             </build>
diff --git a/wildfly/extensions/pom.xml b/wildfly/extensions/pom.xml
index 68189af..e0ece0a 100755
--- a/wildfly/extensions/pom.xml
+++ b/wildfly/extensions/pom.xml
@@ -46,11 +46,6 @@
         </dependency>
         <dependency>
             <groupId>org.keycloak</groupId>
-            <artifactId>keycloak-forms-common-freemarker</artifactId>
-            <scope>provided</scope>
-        </dependency>
-        <dependency>
-            <groupId>org.keycloak</groupId>
             <artifactId>keycloak-forms-common-themes</artifactId>
             <scope>provided</scope>
         </dependency>
diff --git a/wildfly/extensions/src/main/resources/META-INF/services/org.keycloak.theme.ThemeProviderFactory b/wildfly/extensions/src/main/resources/META-INF/services/org.keycloak.theme.ThemeProviderFactory
new file mode 100644
index 0000000..c5515a6
--- /dev/null
+++ b/wildfly/extensions/src/main/resources/META-INF/services/org.keycloak.theme.ThemeProviderFactory
@@ -0,0 +1 @@
+org.keycloak.provider.wildfly.ModuleThemeProviderFactory
\ No newline at end of file