In my custom registration object i have this code:
@Override
public void buildPage(FormContext context, LoginFormsProvider form) {
logger.info("Starting custom form...");
form.createForm("custom_registration.ftl");
logger.info("custom form created.");
}
I've put the template in my keycloak server /themes/custom_theme/login/custom_registration.ftl and also executed
kc.bat build
kc.bat start-dev
But the default registration page is shown, not my custom template.
According to the logs, the custom_registration template is rendered but immediately the default registration template is rendered instead of staying in the custom form:
2024-01-22 15:33:53,809 INFO [org.keycloak.x.authenticator.CustomForm] (executor-thread-0) Creating custom form...
2024-01-22 15:33:53,912 DEBUG [freemarker.cache] (executor-thread-0) Couldn't find template in cache for "custom_registration.ftl"("en_US", UTF-8, parsed); will try to load it.
2024-01-22 15:33:53,913 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("custom_registration_en_US.ftl"): Not found
2024-01-22 15:33:53,915 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("custom_registration_en.ftl"): Not found
2024-01-22 15:33:53,915 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("custom_registration.ftl"): Found
2024-01-22 15:33:53,915 DEBUG [freemarker.cache] (executor-thread-0) Loading template for "custom_registration.ftl"("en_US", UTF-8, parsed) from "file:/C:/Users/User/Downloads/keycloak-21.1.2/bin/../themes/custom_theme/login/custom_registration.ftl"
2024-01-22 15:33:54,002 DEBUG [freemarker.cache] (executor-thread-0) Couldn't find template in cache for "template.ftl"("en_US", UTF-8, parsed); will try to load it.
2024-01-22 15:33:54,003 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template_en_US.ftl"): Not found
2024-01-22 15:33:54,006 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template_en.ftl"): Not found
2024-01-22 15:33:54,007 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template.ftl"): Found
2024-01-22 15:33:54,007 DEBUG [freemarker.cache] (executor-thread-0) Loading template for "template.ftl"("en_US", UTF-8, parsed) from "jar:file:/C:/Users/User/Downloads/keycloak-21.1.2/lib/lib/main/org.keycloak.keycloak-themes-21.1.2.jar!/theme/base/login/template.ftl"
2024-01-22 15:33:54,153 INFO [org.keycloak.x.CustomForm] (executor-thread-0) custom form created.
2024-01-22 15:33:54,179 DEBUG [freemarker.cache] (executor-thread-0) Couldn't find template in cache for "register.ftl"("en_US", UTF-8, parsed); will try to load it.
2024-01-22 15:33:54,180 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("register_en_US.ftl"): Not found
2024-01-22 15:33:54,180 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("register_en.ftl"): Not found
2024-01-22 15:33:54,181 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("register.ftl"): Found
2024-01-22 15:33:54,181 DEBUG [freemarker.cache] (executor-thread-0) Loading template for "register.ftl"("en_US", UTF-8, parsed) from "jar:file:/C:/Users/Operaciones/Downloads/keycloak-21.1.2/lib/lib/main/org.keycloak.keycloak-themes-21.1.2.jar!/theme/base/login/register.ftl"
2024-01-22 15:33:54,189 DEBUG [freemarker.cache] (executor-thread-0) Couldn't find template in cache for "template.ftl"("en_US", UTF-8, parsed); will try to load it.
2024-01-22 15:33:54,191 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template_en_US.ftl"): Not found
2024-01-22 15:33:54,192 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template_en.ftl"): Not found
2024-01-22 15:33:54,192 DEBUG [freemarker.cache] (executor-thread-0) TemplateLoader.findTemplateSource("template.ftl"): Found
2024-01-22 15:33:54,192 DEBUG [freemarker.cache] (executor-thread-0) Loading template for "template.ftl"("en_US", UTF-8, parsed) from "jar:file:/C:/Users/User/Downloads/keycloak-21.1.2/lib/lib/main/org.keycloak.keycloak-themes-21.1.2.jar!/theme/base/login/template.ftl"
I'm missing something here?
Since i couldn't find a way to solve the template override, i used a script.js to modify the template.