diff --git a/docbook/reference/en/en-US/modules/themes.xml b/docbook/reference/en/en-US/modules/themes.xml
index 4d1e621e4f..af3045398c 100755
--- a/docbook/reference/en/en-US/modules/themes.xml
+++ b/docbook/reference/en/en-US/modules/themes.xml
@@ -6,12 +6,38 @@
and feel of end-user facing pages so they can be integrated with your brand and applications.
+
+ Theme types
+
+ There are several types of themes in Keycloak:
+
+ Account - Account management
+ Admin - Admin console
+ Common - Shared resources for themes
+ Email - Emails
+ Login - Login forms
+ Welcome - Welcome pages
+
+
+
+
Configure theme
- To configure the theme used by a realm open the Keycloak Admin Console, select your realm
+ All theme types, except welcome, is configured through Keycloak Admin Console. To change
+ the theme used for a realm open the open the Keycloak Admin Console, select your realm
from the drop-down box in the top left corner. Under Settings click on Theme.
+
+ To change the welcome theme you need to edit standalone/configuration/keycloak-server.json
+ and add welcomeTheme to the theme element, for example:
+
+"theme": {
+ ...
+ "welcomeTheme": "custom-theme"
+}
+
+
@@ -25,26 +51,15 @@
Creating a theme
-
- There are several types of themes in Keycloak:
-
- Account - Account management
- Admin - Admin console
- Common - Shared resources for themes
- Email - Emails
- Login - Login forms
-
-
-
A theme consists of:
- FreeMarker templates
- Stylesheets
- Scripts
- Images
- Message bundles
- Theme properties
+ FreeMarker templates
+ Stylesheets
+ Scripts
+ Images
+ Message bundles
+ Theme properties
@@ -132,10 +147,9 @@
Theme SPI
- The Theme SPI allows creating different mechanisms to providing themes for the default FreeMarker based
+ The Theme SPI allows creating different mechanisms to load themes for the default FreeMarker based
implementations of login forms and account management. To create a theme provider you will need to implement
- org.keycloak.freemarker.ThemeProvider and org.keycloak.freemarker.Theme in
- forms/common-freemarker.
+ org.keycloak.freemarker.ThemeProviderFactory and org.keycloak.freemarker.ThemeProvider.
Keycloak comes with two theme providers, one that loads themes from the classpath (used by default themes)
@@ -149,12 +163,15 @@
The Account SPI allows implementing the account management pages using whatever web framework or templating
engine you want. To create an Account provider implement org.keycloak.account.AccountProviderFactory
- and org.keycloak.account.AccountProvider in forms/account-api.
+ and org.keycloak.account.AccountProvider.
- Keycloaks default account management provider is built on the FreeMarker template engine (forms/account-freemarker).
- To make sure your provider is loaded you will either need to delete standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-account-freemarker-&project.version;.jar
- or disable it with the system property org.keycloak.account.freemarker.FreeMarkerAccountProviderFactory.
+ Once you have deployed your account provider to Keycloak you need to configure keycloak-server.jsonto specify which provider should be used:
+
+"account": {
+ "provider": "custom-provider"
+}
+
@@ -165,9 +182,12 @@
and org.keycloak.login.LoginFormsProvider in forms/login-api.
- Keycloaks default login forms provider is built on the FreeMarker template engine (forms/login-freemarker).
- To make sure your provider is loaded you will either need to delete standalone/deployments/auth-server.war/WEB-INF/lib/keycloak-login-freemarker-&project.version;.jar
- or disable it with the system property org.keycloak.login.freemarker.FreeMarkerLoginFormsProviderFactory.
+ Once you have deployed your account provider to Keycloak you need to configure keycloak-server.jsonto specify which provider should be used:
+
+"login": {
+ "provider": "custom-provider"
+}
+