keycloak-aplcache
Changes
distribution/demo-dist/assembly.xml 8(+0 -8)
distribution/demo-dist/pom.xml 26(+26 -0)
distribution/feature-packs/pom.xml 2(+1 -1)
distribution/feature-packs/server-feature-pack/src/main/resources/configuration/standalone/subsystems.xml 18(+3 -15)
distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/providers/README.txt 2(+2 -0)
distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/themes/README.txt 3(+3 -0)
distribution/pom.xml 4(+2 -2)
distribution/server-dist/assembly.xml 26(+0 -26)
distribution/server-dist/pom.xml 7(+1 -6)
integration/wildfly/wildfly-server-subsystem/src/main/resources/subsystem-templates/keycloak-datasources.xml 8(+0 -8)
pom.xml 6(+6 -0)
Details
distribution/demo-dist/assembly.xml 8(+0 -8)
diff --git a/distribution/demo-dist/assembly.xml b/distribution/demo-dist/assembly.xml
index b45f881..f00bfea 100755
--- a/distribution/demo-dist/assembly.xml
+++ b/distribution/demo-dist/assembly.xml
@@ -14,7 +14,6 @@
<outputDirectory>keycloak</outputDirectory>
<excludes>
<exclude>**/*.sh</exclude>
- <exclude>standalone/configuration/standalone.xml</exclude>
<exclude>standalone/configuration/standalone-keycloak.xml</exclude>
</excludes>
</fileSet>
@@ -36,11 +35,4 @@
</fileSet>
</fileSets>
- <files>
- <file>
- <source>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration/standalone-keycloak.xml</source>
- <outputDirectory>keycloak/standalone/configuration</outputDirectory>
- <destName>standalone.xml</destName>
- </file>
- </files>
</assembly>
distribution/demo-dist/pom.xml 26(+26 -0)
diff --git a/distribution/demo-dist/pom.xml b/distribution/demo-dist/pom.xml
index c946871..1e8f6ad 100755
--- a/distribution/demo-dist/pom.xml
+++ b/distribution/demo-dist/pom.xml
@@ -115,6 +115,32 @@
</execution>
</executions>
</plugin>
+ <plugin>
+ <groupId>org.codehaus.mojo</groupId>
+ <artifactId>xml-maven-plugin</artifactId>
+ <version>1.0</version>
+ <executions>
+ <execution>
+ <id>generate-resources</id>
+ <phase>package</phase>
+ <goals>
+ <goal>transform</goal>
+ </goals>
+ <configuration>
+ <transformationSets>
+ <transformationSet>
+ <dir>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration</dir>
+ <stylesheet>src/main/xslt/standalone.xsl</stylesheet>
+ <includes>
+ <include>standalone.xml</include>
+ </includes>
+ <outputDir>${project.build.directory}/unpacked/wildfly-${wildfly.version}/standalone/configuration</outputDir>
+ </transformationSet>
+ </transformationSets>
+ </configuration>
+ </execution>
+ </executions>
+ </plugin>
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
diff --git a/distribution/demo-dist/src/main/keycloak-server.json b/distribution/demo-dist/src/main/keycloak-server.json
new file mode 100644
index 0000000..9f0d03e
--- /dev/null
+++ b/distribution/demo-dist/src/main/keycloak-server.json
@@ -0,0 +1,72 @@
+{
+ "admin": {
+ "realm": "master"
+ },
+
+ "eventsStore": {
+ "provider": "jpa",
+ "jpa": {
+ "exclude-events": [ "REFRESH_TOKEN" ]
+ }
+ },
+
+ "realm": {
+ "provider": "jpa"
+ },
+
+ "user": {
+ "provider": "jpa"
+ },
+
+ "userSessions": {
+ "provider" : "mem"
+ },
+
+ "realmCache": {
+ "provider": "mem"
+ },
+
+ "userCache": {
+ "provider": "mem",
+ "mem": {
+ "maxSize": 20000
+ }
+ },
+
+ "timer": {
+ "provider": "basic"
+ },
+
+ "theme": {
+ "default": "keycloak",
+ "staticMaxAge": 2592000,
+ "cacheTemplates": true,
+ "cacheThemes": true,
+ "folder": {
+ "dir": "${jboss.server.config.dir}/themes"
+ }
+ },
+
+ "login": {
+ "provider": "freemarker"
+ },
+
+ "account": {
+ "provider": "freemarker"
+ },
+
+ "email": {
+ "provider": "freemarker"
+ },
+
+ "scheduled": {
+ "interval": 900
+ },
+
+ "connectionsJpa": {
+ "default": {
+ "dataSource": "java:jboss/datasources/KeycloakDS",
+ "databaseSchema": "update"
+ }
+ }
+}
\ No newline at end of file
diff --git a/distribution/demo-dist/src/main/providers/README.txt b/distribution/demo-dist/src/main/providers/README.txt
new file mode 100644
index 0000000..a6d523b
--- /dev/null
+++ b/distribution/demo-dist/src/main/providers/README.txt
@@ -0,0 +1,2 @@
+Any provider implementation jars and libraries in this folder will be loaded by Keycloak. See the providers
+section in the documentation for more details.
\ No newline at end of file
diff --git a/distribution/demo-dist/src/main/themes/README.txt b/distribution/demo-dist/src/main/themes/README.txt
new file mode 100644
index 0000000..705b73a
--- /dev/null
+++ b/distribution/demo-dist/src/main/themes/README.txt
@@ -0,0 +1,3 @@
+Themes to configure the look and feel of login pages and account management console. It's not recommended to
+modify existing the built-in themes, instead you should create a new theme that extends a built-in theme. See the theme
+section in the documentation for more details.
\ No newline at end of file
diff --git a/distribution/demo-dist/src/main/xslt/standalone.xsl b/distribution/demo-dist/src/main/xslt/standalone.xsl
new file mode 100755
index 0000000..5de72af
--- /dev/null
+++ b/distribution/demo-dist/src/main/xslt/standalone.xsl
@@ -0,0 +1,72 @@
+<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
+ xmlns:xalan="http://xml.apache.org/xalan"
+ xmlns:j="urn:jboss:domain:3.0"
+ xmlns:ds="urn:jboss:domain:datasources:3.0"
+ xmlns:k="urn:jboss:domain:keycloak:1.1"
+ xmlns:sec="urn:jboss:domain:security:1.2"
+ version="2.0"
+ exclude-result-prefixes="xalan j ds k sec">
+
+ <xsl:param name="config"/>
+
+ <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="//j:extensions">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <extension module="org.keycloak.keycloak-server-subsystem"/>
+ <extension module="org.keycloak.keycloak-adapter-subsystem"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="//ds:datasources">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='datasource']"/>
+ <datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
+ <connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
+ <driver>h2</driver>
+ <security>
+ <user-name>sa</user-name>
+ <password>sa</password>
+ </security>
+ </datasource>
+ <xsl:apply-templates select="node()[name(.)='drivers']"/>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="//j:profile">
+ <xsl:copy>
+ <xsl:apply-templates select="node()|@*"/>
+ <subsystem xmlns="urn:jboss:domain:keycloak-server:1.1">
+ <auth-server name="main-auth-server">
+ <enabled>true</enabled>
+ <web-context>auth</web-context>
+ </auth-server>
+ </subsystem>
+ </xsl:copy>
+ </xsl:template>
+
+ <xsl:template match="//sec:security-domains">
+ <xsl:copy>
+ <xsl:apply-templates select="node()[name(.)='security-domain']"/>
+ <security-domain name="keycloak">
+ <authentication>
+ <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
+ </authentication>
+ </security-domain>
+ <security-domain name="sp" cache-type="default">
+ <authentication>
+ <login-module code="org.picketlink.identity.federation.bindings.wildfly.SAML2LoginModule" flag="required"/>
+ </authentication>
+ </security-domain>
+ </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
distribution/feature-packs/pom.xml 2(+1 -1)
diff --git a/distribution/feature-packs/pom.xml b/distribution/feature-packs/pom.xml
index dcc6c0c..f002095 100644
--- a/distribution/feature-packs/pom.xml
+++ b/distribution/feature-packs/pom.xml
@@ -14,7 +14,7 @@
<packaging>pom</packaging>
<modules>
- <module>adapter-feature-pack</module>
+ <!--<module>adapter-feature-pack</module>-->
<module>server-feature-pack</module>
</modules>
</project>
diff --git a/distribution/feature-packs/server-feature-pack/assembly.xml b/distribution/feature-packs/server-feature-pack/assembly.xml
index eaee2ca..47c914f 100644
--- a/distribution/feature-packs/server-feature-pack/assembly.xml
+++ b/distribution/feature-packs/server-feature-pack/assembly.xml
@@ -49,5 +49,19 @@
<exclude>**/module.xml</exclude>
</excludes>
</fileSet>
+ <fileSet>
+ <directory>../../../</directory>
+ <includes>
+ <include>License.html</include>
+ </includes>
+ <outputDirectory>content</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <directory>../../../forms/common-themes/src/main/resources/theme</directory>
+ <outputDirectory>content/standalone/configuration/themes</outputDirectory>
+ <includes>
+ <include>**/**</include>
+ </includes>
+ </fileSet>
</fileSets>
</assembly>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/configuration/standalone/subsystems.xml b/distribution/feature-packs/server-feature-pack/src/main/resources/configuration/standalone/subsystems.xml
index fad3c38..d20bf2e 100644
--- a/distribution/feature-packs/server-feature-pack/src/main/resources/configuration/standalone/subsystems.xml
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/configuration/standalone/subsystems.xml
@@ -3,33 +3,21 @@
<config>
<subsystems>
<subsystem>logging.xml</subsystem>
- <subsystem>batch.xml</subsystem>
+ <!-- resteasy complains if bean-validation is missing -->
<subsystem>bean-validation.xml</subsystem>
<subsystem>keycloak-datasources.xml</subsystem>
- <subsystem>deployment-scanner.xml</subsystem>
- <subsystem>ee.xml</subsystem>
- <subsystem>ejb3.xml</subsystem>
+ <subsystem supplement="web-build">ee.xml</subsystem>
<subsystem>io.xml</subsystem>
<subsystem>infinispan.xml</subsystem>
<subsystem>jaxrs.xml</subsystem>
<subsystem>jca.xml</subsystem>
- <subsystem>jdr.xml</subsystem>
- <subsystem>jmx.xml</subsystem>
<subsystem>jpa.xml</subsystem>
- <subsystem>jsf.xml</subsystem>
- <subsystem>mail.xml</subsystem>
- <subsystem>naming.xml</subsystem>
- <subsystem>pojo.xml</subsystem>
- <subsystem>remoting.xml</subsystem>
- <subsystem>resource-adapters.xml</subsystem>
+ <subsystem supplement="web-build">naming.xml</subsystem>
<subsystem>request-controller.xml</subsystem>
- <subsystem>sar.xml</subsystem>
<subsystem>security-manager.xml</subsystem>
<subsystem>security.xml</subsystem>
<subsystem>transactions.xml</subsystem>
<subsystem>undertow.xml</subsystem>
- <subsystem>webservices.xml</subsystem>
- <subsystem>weld.xml</subsystem>
<subsystem>keycloak-server.xml</subsystem>
</subsystems>
</config>
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/providers/README.txt b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/providers/README.txt
new file mode 100644
index 0000000..a6d523b
--- /dev/null
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/providers/README.txt
@@ -0,0 +1,2 @@
+Any provider implementation jars and libraries in this folder will be loaded by Keycloak. See the providers
+section in the documentation for more details.
\ No newline at end of file
diff --git a/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/themes/README.txt b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/themes/README.txt
new file mode 100644
index 0000000..705b73a
--- /dev/null
+++ b/distribution/feature-packs/server-feature-pack/src/main/resources/content/standalone/configuration/themes/README.txt
@@ -0,0 +1,3 @@
+Themes to configure the look and feel of login pages and account management console. It's not recommended to
+modify existing the built-in themes, instead you should create a new theme that extends a built-in theme. See the theme
+section in the documentation for more details.
\ No newline at end of file
distribution/pom.xml 4(+2 -2)
diff --git a/distribution/pom.xml b/distribution/pom.xml
index 8eeaafc..f2d4549 100755
--- a/distribution/pom.xml
+++ b/distribution/pom.xml
@@ -28,13 +28,13 @@
<modules>
<module>adapters</module>
- <module>demo-dist</module>
+ <!--<module>demo-dist</module>-->
<module>docs-dist</module>
<module>examples-dist</module>
<module>modules</module>
<module>proxy-dist</module>
<module>server-dist</module>
- <module>server-overlay</module>
+ <!--<module>server-overlay</module>-->
<module>src-dist</module>
<module>subsystem-war</module>
<module>feature-packs</module>
distribution/server-dist/assembly.xml 26(+0 -26)
diff --git a/distribution/server-dist/assembly.xml b/distribution/server-dist/assembly.xml
index 6f0c028..6a846af 100755
--- a/distribution/server-dist/assembly.xml
+++ b/distribution/server-dist/assembly.xml
@@ -8,7 +8,6 @@
<includeBaseDirectory>true</includeBaseDirectory>
- <!-- If war is filtered it will get corrupted. Only need to filter module.xml -->
<fileSets>
<fileSet>
<directory>target/${project.build.finalName}</directory>
@@ -38,30 +37,5 @@
<include>*.*</include>
</includes>
</fileSet>
- <fileSet>
- <directory>../../forms/common-themes/src/main/resources/theme</directory>
- <outputDirectory>standalone/configuration/themes</outputDirectory>
- <includes>
- <include>**/**</include>
- </includes>
- </fileSet>
- <fileSet>
- <directory>../../</directory>
- <includes>
- <include>License.html</include>
- </includes>
- <outputDirectory></outputDirectory>
- </fileSet>
</fileSets>
-
- <files>
- <file>
- <source>../server-overlay/src/main/themes/README.txt</source>
- <outputDirectory>standalone/configuration/themes</outputDirectory>
- </file>
- <file>
- <source>../server-overlay/src/main/providers/README.txt</source>
- <outputDirectory>standalone/configuration/providers</outputDirectory>
- </file>
- </files>
</assembly>
distribution/server-dist/pom.xml 7(+1 -6)
diff --git a/distribution/server-dist/pom.xml b/distribution/server-dist/pom.xml
index cc76727..f5e4863 100755
--- a/distribution/server-dist/pom.xml
+++ b/distribution/server-dist/pom.xml
@@ -16,12 +16,7 @@
<dependencies>
<dependency>
<groupId>org.keycloak</groupId>
- <artifactId>keycloak-server-overlay</artifactId>
- <type>zip</type>
- </dependency>
- <dependency>
- <groupId>org.wildfly</groupId>
- <artifactId>wildfly-dist</artifactId>
+ <artifactId>keycloak-server-feature-pack</artifactId>
<type>zip</type>
</dependency>
</dependencies>
diff --git a/distribution/server-overlay/assembly.xml b/distribution/server-overlay/assembly.xml
index 26f4d8c..f8424b1 100755
--- a/distribution/server-overlay/assembly.xml
+++ b/distribution/server-overlay/assembly.xml
@@ -5,12 +5,17 @@
<format>zip</format>
<format>tar.gz</format>
</formats>
+
<includeBaseDirectory>false</includeBaseDirectory>
<fileSets>
<fileSet>
<directory>${project.build.directory}/unpacked/modules</directory>
- <outputDirectory>modules/system/layers/base</outputDirectory>
+ <outputDirectory>modules</outputDirectory>
+ </fileSet>
+ <fileSet>
+ <directory>${project.build.directory}/unpacked/content</directory>
+ <outputDirectory></outputDirectory>
</fileSet>
<fileSet>
<directory>../../forms/common-themes/src/main/resources/theme</directory>
@@ -35,7 +40,7 @@
<destName>standalone-keycloak.xml</destName>
</file>
<file>
- <source>../subsystem-war/src/main/resources/META-INF/keycloak-server.json</source>
+ <source>src/main/keycloak-server.json</source>
<outputDirectory>standalone/configuration</outputDirectory>
</file>
<file>
diff --git a/distribution/server-overlay/src/main/keycloak-server.json b/distribution/server-overlay/src/main/keycloak-server.json
new file mode 100644
index 0000000..9f0d03e
--- /dev/null
+++ b/distribution/server-overlay/src/main/keycloak-server.json
@@ -0,0 +1,72 @@
+{
+ "admin": {
+ "realm": "master"
+ },
+
+ "eventsStore": {
+ "provider": "jpa",
+ "jpa": {
+ "exclude-events": [ "REFRESH_TOKEN" ]
+ }
+ },
+
+ "realm": {
+ "provider": "jpa"
+ },
+
+ "user": {
+ "provider": "jpa"
+ },
+
+ "userSessions": {
+ "provider" : "mem"
+ },
+
+ "realmCache": {
+ "provider": "mem"
+ },
+
+ "userCache": {
+ "provider": "mem",
+ "mem": {
+ "maxSize": 20000
+ }
+ },
+
+ "timer": {
+ "provider": "basic"
+ },
+
+ "theme": {
+ "default": "keycloak",
+ "staticMaxAge": 2592000,
+ "cacheTemplates": true,
+ "cacheThemes": true,
+ "folder": {
+ "dir": "${jboss.server.config.dir}/themes"
+ }
+ },
+
+ "login": {
+ "provider": "freemarker"
+ },
+
+ "account": {
+ "provider": "freemarker"
+ },
+
+ "email": {
+ "provider": "freemarker"
+ },
+
+ "scheduled": {
+ "interval": 900
+ },
+
+ "connectionsJpa": {
+ "default": {
+ "dataSource": "java:jboss/datasources/KeycloakDS",
+ "databaseSchema": "update"
+ }
+ }
+}
\ No newline at end of file
diff --git a/distribution/server-overlay/src/main/xslt/standalone.xsl b/distribution/server-overlay/src/main/xslt/standalone.xsl
index 9e7d309..dd17b23 100755
--- a/distribution/server-overlay/src/main/xslt/standalone.xsl
+++ b/distribution/server-overlay/src/main/xslt/standalone.xsl
@@ -1,12 +1,10 @@
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xalan="http://xml.apache.org/xalan"
- xmlns:j="urn:jboss:domain:2.2"
- xmlns:ds="urn:jboss:domain:datasources:2.0"
- xmlns:dep="urn:jboss:domain:deployment-scanner:2.0"
- xmlns:k="urn:jboss:domain:keycloak:1.0"
- xmlns:sec="urn:jboss:domain:security:1.2"
+ xmlns:j="urn:jboss:domain:3.0"
+ xmlns:ds="urn:jboss:domain:datasources:3.0"
+ xmlns:k="urn:jboss:domain:keycloak:1.1"
version="2.0"
- exclude-result-prefixes="xalan j ds dep k sec">
+ exclude-result-prefixes="xalan j ds k">
<xsl:param name="config"/>
@@ -17,7 +15,6 @@
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
<extension module="org.keycloak.keycloak-server-subsystem"/>
- <extension module="org.keycloak.keycloak-adapter-subsystem"/>
</xsl:copy>
</xsl:template>
@@ -48,22 +45,6 @@
</xsl:copy>
</xsl:template>
- <xsl:template match="//sec:security-domains">
- <xsl:copy>
- <xsl:apply-templates select="node()[name(.)='security-domain']"/>
- <security-domain name="keycloak">
- <authentication>
- <login-module code="org.keycloak.adapters.jboss.KeycloakLoginModule" flag="required"/>
- </authentication>
- </security-domain>
- <security-domain name="sp" cache-type="default">
- <authentication>
- <login-module code="org.picketlink.identity.federation.bindings.wildfly.SAML2LoginModule" flag="required"/>
- </authentication>
- </security-domain>
- </xsl:copy>
- </xsl:template>
-
<xsl:template match="@*|node()">
<xsl:copy>
<xsl:apply-templates select="@*|node()" />
diff --git a/integration/wildfly/wildfly-server-subsystem/src/main/resources/subsystem-templates/keycloak-datasources.xml b/integration/wildfly/wildfly-server-subsystem/src/main/resources/subsystem-templates/keycloak-datasources.xml
index 9f05130..114545f 100644
--- a/integration/wildfly/wildfly-server-subsystem/src/main/resources/subsystem-templates/keycloak-datasources.xml
+++ b/integration/wildfly/wildfly-server-subsystem/src/main/resources/subsystem-templates/keycloak-datasources.xml
@@ -4,14 +4,6 @@
<extension-module>org.jboss.as.connector</extension-module>
<subsystem xmlns="urn:jboss:domain:datasources:3.0">
<datasources>
- <datasource jndi-name="java:jboss/datasources/ExampleDS" pool-name="ExampleDS" enabled="true" use-java-context="true">
- <connection-url>jdbc:h2:mem:test;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE</connection-url>
- <driver>h2</driver>
- <security>
- <user-name>sa</user-name>
- <password>sa</password>
- </security>
- </datasource>
<datasource jndi-name="java:jboss/datasources/KeycloakDS" pool-name="KeycloakDS" enabled="true" use-java-context="true">
<connection-url>jdbc:h2:${jboss.server.data.dir}/keycloak;AUTO_SERVER=TRUE</connection-url>
<driver>h2</driver>
pom.xml 6(+6 -0)
diff --git a/pom.xml b/pom.xml
index 796918a..5c529c7 100755
--- a/pom.xml
+++ b/pom.xml
@@ -1130,6 +1130,12 @@
</dependency>
<dependency>
<groupId>org.keycloak</groupId>
+ <artifactId>keycloak-server-feature-pack</artifactId>
+ <version>${project.version}</version>
+ <type>zip</type>
+ </dependency>
+ <dependency>
+ <groupId>org.keycloak</groupId>
<artifactId>keycloak-testsuite-integration</artifactId>
<version>${project.version}</version>
</dependency>