ara*_*ogu 2 reactjs keycloak keycloak-services
我正在尝试找到一种方法,使用 Keycloak.v2 主题替换管理控制台页面上的 Keycloak 图像,该主题是从 Keycloak 19 开始的默认主题。
请注意,更换themes\keycloak.v2\account\resources\public\logo.svg并没有真正帮助。
在 Keycloak 中,更改 Keycloak 徽标的方法之一是覆盖主题。与分叉和构建整个 keycloak-admin-ui 存储库相比,这样做的好处是您可以控制并只专注于自定义所需的组件,减少新主题的大小并减少不必要的重复。
对于您的特定用例(在 Keycloak 20.0.1 中测试),我执行了以下操作来更改管理控制台页面上的 Keycloak 徽标:
根据Keycloak 主题指南,可以将自定义主题添加到 keycloak 中,方法是将它们放入/opt/keycloak/themes. Keycloak 启动后,可以在Realm Settings中选择主题。因此,我/opt/keycloak/themes为我的自定义主题创建了一个新文件夹,名为myCustomTheme.
新文件夹将包含 Keycloak 不同部分的主题定义。由于我们只关心更改管理控制台中的徽标,因此我们创建一个文件夹/opt/keycloak/themes/myCustomTheme来覆盖管理控制台主题。根据定义的主题类型集,应调用此文件夹admin。这样,当您在Admin Console中的领域设置中选择主题时,MyCustomTheme选项将列在Admin Console部分下(参见下图)。
里面/opt/keycloak/themes/myCustomTheme/admin是主题优先开始的地方。theme.properties应该创建一个名为的配置文件。该文件是 Keycloak 在加载主题时首先读取的内容,其中包含有关主题环境的信息。更详细的信息请参见主题属性的描述。
由于我们要覆盖keycloak.v2主题,因此我们将该parent字段添加到属性文件中,指定我们继承的基本主题。我们将其设置为keycloak.v2,以便myCustomTheme将为所有组件继承keycloak.v2主题,除非我们覆盖特定的内容。
parent=keycloak.v2
下一步需要对默认keycloak.v2主题的结构进行一些探索和反复试验,但我发现为 keycloak.v2 定义 Keycloak 徽标的位置位于keycloak.v2/admin/resources/logo.svg. 因此,对于myCustomTheme,要使用覆盖默认徽标的自定义徽标,只需keycloak.v2添加一个resources文件夹/opt/keycloak/themes/myCustomTheme/admin并将自定义 SVG 图像添加为名为logo.svg.
resources文件夹,但img在其中还创建一个包含图像的文件夹。我怀疑这与我们覆盖图像而不是添加图像这一事实有关,并且keycloak.v2主题代码没有遵循其自己的指南,而是将其徽标放在resources而不是resources/img.启动 Keycloak,转到管理控制台,登录并转到领域设置 > 主题 > 管理控制台主题,然后选择myCustomTheme。刷新一下,您应该会看到图标发生变化。
下面是执行上述操作的结果,显示了我得到的文件夹结构以及用我从公共领域获得的一些随机 SVG替换 Keycloak 徽标的之前/之后:
| 归档时间: |
|
| 查看次数: |
7737 次 |
| 最近记录: |