搜索

3.4. 迁移主题

download PDF

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

流程

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

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

3.4.1. 迁移模板

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

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

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

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

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

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

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

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.