在 Keycloak:18.x 中导入领域
Import realm in Keycloak:18.x
我无法将任何领域导入 Keycloak 18.0.0。那是 Quarkus,不再是 Wildfly 发行版。文档 here 说它应该非常简单,通过将我导出的 realm.json 文件安装到 /opt/keycloak/data/import/...json 它实际上尝试导入它,但它以:
"[org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Script upload is disabled"
.
已知要删除,旧的 -Dkeycloak.profile.feature.upload_scripts=enabled
将不再有效。好的。
但是在启动时导入任何领域的方法是什么?这将用于分发现成的本地堆栈,而无需启动任何手工制作。我可以使用 运行 SQL 命令来完成,但这对我来说太老套了。
编写文件:
cp-keycloak:
image: quay.io/keycloak/keycloak:18.0.0
environment:
KC_DB: mysql
KC_DB_URL: jdbc:mysql://cp-keycloak-database:3306/keycloak
KC_DB_USERNAME: root
KC_DB_PASSWORD: root
KC_HOSTNAME: localhost
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
ports:
- 8082:8080
volumes:
- ./data/local_stack/init.keycloak.json:/opt/keycloak/data/import/main-realm.json:ro
entrypoint: "/opt/keycloak/bin/kc.sh start-dev --import-realm"
输出:
cp-keycloak_1 | 2022-05-05 14:07:26,801 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (development) mode
cp-keycloak_1 | 2022-05-05 14:07:26,802 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to import realm: Main-Realm
cp-keycloak_1 | 2022-05-05 14:07:26,803 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Script upload is disabled
谢谢
这可能是因为在您的领域内。json 引用了一些正在使用已弃用的 upload script
功能的配置。
尝试删除它,导出 json 然后他们再次尝试导入(这次没有上传脚本功能。
来自评论(归功于 jfrantzius):
See here for what you either need to remove or replace in your
realm-export.json:
https://github.com/keycloak/keycloak/issues/11664#issuecomment-1111062102
. We had to replace the entries, see also here
https://github.com/keycloak/keycloak/discussions/12041#discussioncomment-2768768
我无法将任何领域导入 Keycloak 18.0.0。那是 Quarkus,不再是 Wildfly 发行版。文档 here 说它应该非常简单,通过将我导出的 realm.json 文件安装到 /opt/keycloak/data/import/...json 它实际上尝试导入它,但它以:
"[org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Script upload is disabled"
.
已知要删除,旧的 -Dkeycloak.profile.feature.upload_scripts=enabled
将不再有效。好的。
但是在启动时导入任何领域的方法是什么?这将用于分发现成的本地堆栈,而无需启动任何手工制作。我可以使用 运行 SQL 命令来完成,但这对我来说太老套了。
编写文件:
cp-keycloak:
image: quay.io/keycloak/keycloak:18.0.0
environment:
KC_DB: mysql
KC_DB_URL: jdbc:mysql://cp-keycloak-database:3306/keycloak
KC_DB_USERNAME: root
KC_DB_PASSWORD: root
KC_HOSTNAME: localhost
KEYCLOAK_ADMIN: admin
KEYCLOAK_ADMIN_PASSWORD: admin
ports:
- 8082:8080
volumes:
- ./data/local_stack/init.keycloak.json:/opt/keycloak/data/import/main-realm.json:ro
entrypoint: "/opt/keycloak/bin/kc.sh start-dev --import-realm"
输出:
cp-keycloak_1 | 2022-05-05 14:07:26,801 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to start server in (development) mode
cp-keycloak_1 | 2022-05-05 14:07:26,802 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Failed to import realm: Main-Realm
cp-keycloak_1 | 2022-05-05 14:07:26,803 ERROR [org.keycloak.quarkus.runtime.cli.ExecutionExceptionHandler] (main) ERROR: Script upload is disabled
谢谢
这可能是因为在您的领域内。json 引用了一些正在使用已弃用的 upload script
功能的配置。
尝试删除它,导出 json 然后他们再次尝试导入(这次没有上传脚本功能。
来自评论(归功于 jfrantzius):
See here for what you either need to remove or replace in your realm-export.json: https://github.com/keycloak/keycloak/issues/11664#issuecomment-1111062102 . We had to replace the entries, see also here https://github.com/keycloak/keycloak/discussions/12041#discussioncomment-2768768