0

我有一个大小 >1MB 的主题(排除了作为对此问题的答案提供的 configmap-solution )。

此主题已根据服务器开发指南进行打包- 它的文件夹结构为

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")

但是,在管理控制台中,我无法从登录主题的扩展中选择主题。通过 crd 创建一个新领域,并通过 spec-entry 使用预配置的登录主题

loginTheme: [themeName]

也不起作用 - 在管理控制台中,登录主题的选定条目为空。

我可能遗漏了一些基本的东西,但如果我没记错的话,这似乎应该根据这个答案工作。

4

1 回答 1

1

通常情况下,未发现的错字是错误的根源。

目录结构不能

  • META-INF/keycloak-themes.json
  • 主题/[主题名称]/[主题角色]/theme.properties
  • [...]

但反而

  • META-INF/keycloak-themes.json
  • 主题/[主题名称]/[主题角色]/theme.properties
  • [...]

给定正确的结构,keycloak-operator 可以成功地部署和加载自定义主题作为 jar 扩展。

于 2021-12-27T19:23:45.067 回答