在 Keycloak 23 中导入领域更改

问题描述 投票:0回答:1

您好,我有一个问题,我想知道是否可以仅使用 Keycloak Docker 映像来解决。我试图解决的问题是,我们在较低环境中有一个领域,我们希望在较高环境上复制该领域。假设开发团队在环境 A 上添加客户端角色、属性或映射器,执行部分导出,然后在环境 B 中将

--import-realm
参数添加到
kc.sh start
并将导出的 json 文件挂载到
/opt/keycloak/data/import

问题是,如果领域已经存在,则导入将被跳过。有没有办法“覆盖/强制”此重新导入?或者我需要使用类似

bitnami/keycloak-config-cli
图像的东西来执行此操作?

docker keycloak
1个回答
0
投票

如果您使用的是官方 KeyCloak Docker 镜像,那么您应该在 Dockerfile/compose 文件中将

migration.strategy
Java 参数设置为
OVERWRITE_EXISTING
(默认为
IGNORE_EXISTING
,这就是跳过导入的原因)。

例如:

KEYCLOAK_IMPORT=/opt/keycloak/data/import/keycloak-realm.json
JAVA_OPTS_APPEND=-Dkeycloak.profile.feature.upload_scripts=enabled -Dkeycloak.migration.strategy=OVERWRITE_EXISTING

导入/导出参考:

注:

  • OVERWRITE_EXISTING
    策略将完全覆盖(不扩展或追加)现有领域,因此您必须确保要使用提供的领域。
© www.soinside.com 2019 - 2024. All rights reserved.