使用 Operator 部署自定义 Keycloak 主题(v15.1.1 和 v16.0.0)
Deploying custom Keycloak theme with Operator (v15.1.1 & v16.0.0)
我有一个大小 >1MB 的主题(这排除了 提供的配置映射解决方案)。
这个主题已经按照Server Development Guide打包 - 它的文件夹结构是
META-INF/keycloak-themes.json
themes/[themeName]/login/login.ftl
themes/[themeName]/login/login-reset-password.ftl
themes/[themeName]/login/template.ftl
themes/[themeName]/login/template.html
themes/[themeName]/login/theme.properties
themes/[themeName]/login/messages/messages_de.properties
themes/[themeName]/login/messages/messages_en.properties
themes/[themeName]/login/resources/[...]
keycloak-themes.json的内容是
{
"themes": [{
"name" : "[themeName]",
"types": [ "login" ]
}]
}
其中 [themeName]
是我的主题名称。
Keycloak 是 运行 3 个实例,其资源规范包括:
extensions:
- [URL-to-jar]
根据每个 pod 的日志部署成功 - 每个日志包含一条消息包含
Deployed "[jar-name].jar" (runtime-name : "[jar-name].jar")
但是,在管理控制台中,我无法 select 来自登录主题扩展的主题。通过 spec-entry
使用预配置的登录主题通过 crd 创建新领域
loginTheme: [themeName]
也不起作用 - 在管理控制台中,登录主题的 selected 条目为空。
我可能遗漏了一些基本的东西,但如果我没记错的话,这似乎应该有效。
通常情况下,未发现的拼写错误是错误的根源。
目录结构必须而不是
- META-INF/keycloak-themes.json
- 主题/[主题名称]/[主题角色]/theme.properties
- [...]
而是
- META-INF/keycloak-themes.json
- 主题/[主题名称]/[主题角色]/theme.properties
- [...]
如果结构正确,keycloak-operator 可以成功部署和加载自定义主题作为 jar 扩展。
我有一个大小 >1MB 的主题(这排除了
这个主题已经按照Server Development Guide打包 - 它的文件夹结构是
META-INF/keycloak-themes.json
themes/[themeName]/login/login.ftl
themes/[themeName]/login/login-reset-password.ftl
themes/[themeName]/login/template.ftl
themes/[themeName]/login/template.html
themes/[themeName]/login/theme.properties
themes/[themeName]/login/messages/messages_de.properties
themes/[themeName]/login/messages/messages_en.properties
themes/[themeName]/login/resources/[...]
keycloak-themes.json的内容是
{
"themes": [{
"name" : "[themeName]",
"types": [ "login" ]
}]
}
其中 [themeName]
是我的主题名称。
Keycloak 是 运行 3 个实例,其资源规范包括:
extensions:
- [URL-to-jar]
根据每个 pod 的日志部署成功 - 每个日志包含一条消息包含
Deployed "[jar-name].jar" (runtime-name : "[jar-name].jar")
但是,在管理控制台中,我无法 select 来自登录主题扩展的主题。通过 spec-entry
使用预配置的登录主题通过 crd 创建新领域loginTheme: [themeName]
也不起作用 - 在管理控制台中,登录主题的 selected 条目为空。
我可能遗漏了一些基本的东西,但如果我没记错的话,这似乎应该有效
通常情况下,未发现的拼写错误是错误的根源。
目录结构必须而不是
- META-INF/keycloak-themes.json
- 主题/[主题名称]/[主题角色]/theme.properties
- [...]
而是
- META-INF/keycloak-themes.json
- 主题/[主题名称]/[主题角色]/theme.properties
- [...]
如果结构正确,keycloak-operator 可以成功部署和加载自定义主题作为 jar 扩展。