Keycloak 21 中未覆盖注册模板

问题描述 投票:0回答:1

在我的自定义注册对象中,我有以下代码:

@Override
    public void buildPage(FormContext context, LoginFormsProvider form) {
        logger.info("Starting custom form...");
        form.createForm("custom_registration.ftl");
        logger.info("custom form created.");
    }

我已将模板放入我的 keycloak 服务器中

/themes/custom_theme/login/custom_registration.ftl
并执行了

kc.bat build
kc.bat start-dev

但是显示的是默认的注册页面,不是我的自定义模板。

根据日志,将呈现 custom_registration 模板,但立即呈现默认注册模板,而不是停留在自定义表单中:

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"

我在这里遗漏了什么?

java keycloak freemarker user-registration
1个回答
0
投票

由于找不到解决模板覆盖的方法,所以我使用了script.js来修改模板。

© www.soinside.com 2019 - 2024. All rights reserved.