扩展 Keycloak 主题

Posted

技术标签:

【中文标题】扩展 Keycloak 主题【英文标题】:Extending Keycloak theme 【发布时间】:2019-11-01 21:31:17 【问题描述】:

我想为 keycloak 创建一个自定义主题,以用不同的样式替换一些面向用户的页面。 keycloak 手册描述了Creating a Theme 的这个过程,并建议从现有主题派生自定义主题。

为此,Theme Properties 这个属性中的文档引用:

parent - 要扩展的父主题 import - 从另一个主题导入资源

举个例子

parent=base
import=common/keycloak

不幸的是,文档没有描述该主题扩展的实际工作原理(或者我不明白......)。

“parent=base”是否自动使用该主题中的所有文件并仅覆盖新主题中的文件?

“import=common/keycloak”指的是什么?我在基本主题中找不到任何匹配的组件或文件路径。

【问题讨论】:

【参考方案1】:

当您说parent=base 时,您正在扩展基本主题。

在您的theme.properties 中,import=common/keycloakkeycloak 类型为common 的主题中导入所有资源

你可以在<KEYCLOAK-HOME>/themes/keycloak/common找到资源

【讨论】:

嗯...所以“import”的语法总是“type_component/theme_name”?然后它的主要目的是集成 other 主题的组件,这些组件不包含在父主题中......?那么,使用例如“parent=keycloak”就不需要提到的导入,因为“common”组件已经包含了? 是的,它应该包括常见的,但没有尝试扩展 keycloak 主题【参考方案2】:

如果你们有兴趣,我创建了一个主题构建器,让您可以扩展默认的 Keycloak 主题...或从头开始创建一个新主题。 示例:

结帐Keycloakify

【讨论】:

以上是关于扩展 Keycloak 主题的主要内容,如果未能解决你的问题,请参考以下文章

在 keycloak 主题中更新密码时正在存储“这不是登录表单”

在 Keycloak 登录主题中获取 root url

如何在嵌入式 Spring Boot Keycloak 中设置主题?

Keycloak 失败,因为它找不到我的主题或带有 NullPointer 异常的默认主题

如何在 Kubernetes 上的 Keycloak Operator 部署中使用自定义主题?

带有 chrome 扩展的 Keycloak 登录