3.4. 迁移主题


如果您创建了自定义主题,则必须将这些主题迁移到新服务器。另外,对内置主题的任何更改可能需要反映在自定义主题中,具体取决于您自定义的方面。

流程

  1. 将自定义主题从旧服务器 主题 目录复制到新服务器 主题 目录。
  2. 使用以下部分来迁移模板、消息和样式。

    • 如果您自定义了 Migration Changes 中列出的任何更新模板,请将模板与基础主题进行比较,以检查您需要应用的任何更改。
    • 如果自定义消息,您可能需要更改键或值或添加额外的消息。
    • 如果您自定义任何风格且您要扩展 Keycloak 主题的红帽构建,请查看风格的更改。如果您要扩展基础主题,您可以跳过这一步。

3.4.1. 迁移模板

如果您自定义任何模板,请查看新版本以决定更新自定义模板。如果您进行了较小的更改,您可以将更新的模板与自定义模板进行比较。但是,如果您进行了许多更改,请考虑将新模板与自定义模板进行比较。此比较将向您显示您需要进行哪些更改。

您可以使用 diff 工具比较模板。以下屏幕截图比较了 Login 主题和示例自定义主题中的 info.ftl 模板:

登录模板和自定义登录模板的更新版本

Updated version of a Login theme template versus a custom Login theme template

此比较显示,第一次更改(Hello world!!)是自定义状态,而第二个更改(如果 pageRedirectUri)是基础主题的更改。通过将第二个更改复制到自定义模板,您已成功更新您的自定义模板。

在替代方法中,以下屏幕截图将旧安装中的 info.ftl 模板与新安装中更新的 info.ftl 模板进行比较:

从旧安装和更新的 Login 主题模板登录主题模板

Login theme template from the old installation versus the updated Login theme template

此比较显示在基本模板中更改的内容。然后您可以手动对修改的模板进行相同的更改。由于这种方法更为复杂,因此只有在第一个方法不可行时才使用此方法。

3.4.2. 迁移消息

如果您添加了对其他语言的支持,则需要应用上面列出的所有更改。如果您还没有添加了对其他语言的支持,您可能不需要更改任何内容。只有在您更改了主题中的受影响的消息时才需要进行更改。

流程

  1. 对于添加的值,请查看基本主题中的消息值,以确定是否需要自定义该消息。
  2. 对于重命名的密钥,请在自定义主题中重命名密钥。
  3. 对于更改的值,请检查基础主题中的值以确定您是否需要更改自定义主题。

3.4.3. 迁移风格

您可能需要更新您的自定义样式,以反映对内置主题中样式所做的更改。考虑使用 diff 工具将旧服务器安装与样式表的更改进行比较。

例如:

$ diff RHSSO_HOME_OLD/themes/keycloak/login/resources/css/login.css \
RHSSO_HOME_NEW/themes/keycloak/login/resources/css/login.css

检查更改并确定它们是否影响您的自定义样式。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.