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" +} +