3.4. 迁移主题
如果您创建了自定义主题,则这些主题必须迁移到新的服务器。另外,对内置主题的任何更改可能需要反映在自定义主题中,具体取决于您自定义的各个方面。
流程
-
将自定义主题从旧服务器复制到新的服务器
themes
使用以下部分迁移模板、消息和样式。
- 如果您自定义了 Migration Changes 中列出的任何更新模板,请比较基础主题中的模板,以检查您需要应用的任何更改。
- 如果自定义消息,可能需要更改键或值或添加其他消息。
- 如果您自定义任何样式且您要扩展红帽构建的 Keycloak 主题,请查看对样式的更改。如果要扩展基础主题,您可以跳过这一步。
3.4.1. 迁移模板
如果自定义模板,请查看新版本以决定更新自定义模板。如果您进行次要更改,您可以将更新的模板与自定义模板进行比较。但是,如果您进行了许多更改,请考虑将新模板与自定义模板进行比较。此比较将向您展示您需要进行哪些更改。
您可以使用 diff 工具比较模板。以下屏幕截图比较了登录主题和示例自定义主题中的 info.ftl
模板:
更新了登录主题模板和自定义登录主题模板的版本
这一比较显示,第一次更改(Hello world!!
!)是自定义,而第二次更改(如果 pageRedirectUri
)是基础主题的更改。通过将第二次更改复制到自定义模板,您已成功更新自定义模板。
在替代方法中,以下屏幕截图将旧安装中的 info.ftl
模板与新安装中的 info.ftl
模板进行比较:
从旧安装和更新的登录主题模板登录主题模板
此比较显示了基础模板中已更改的内容。然后您可以手动对修改后的模板进行相同的更改。由于这种方法更为复杂,因此仅在第一种方法不可行时才使用此方法。
3.4.2. 迁移消息
如果您添加了对其他语言的支持,则需要应用上面列出的所有更改。如果您还没有添加对其他语言的支持,则可能不需要更改任何内容。只有在您更改了主题中的受影响消息时,才需要进行更改。
流程
- 对于添加的值,请查看基本主题中消息的值,以确定是否需要自定义该消息。
- 对于重命名的密钥,请重命名自定义主题中的密钥。
- 对于更改的值,请检查基础主题中的值,以确定是否需要对自定义主题进行更改。
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
检查更改,并确定它们是否影响您的自定义策略。