我正在启动一个keycloak
服务器,并希望让服务器导入一个默认领域(作为启动)。但即使这样也不起作用:/tmp/example-realm.json
:
{
"realm": "springboot-quickstart",
"enabled": true,
"sslRequired": "external",
"registrationAllowed": true,
"requiredCredentials": [ "password" ],
"clients": [
{
"clientId": "service-springboot",
"enabled": true,
"bearerOnly": true,
"protocol": "openid-connect"
}
]
}
开始:
docker run -p 8180:8080
-e KEYCLOAK_ADMIN=admin
-e KEYCLOAK_ADMIN_PASSWORD=admin
-e KEYCLOAK_IMPORT=/tmp/example-realm.json
-v /tmp/example-realm.json:/tmp/example-realm.json
quay.io/keycloak/keycloak:17.0.0 start-dev
结果:只有master
领域存在,但我导入的领域丢失。
相反,当我转到keycloak的管理页面并手动导入该文件时,client“springboot-quickstart”成功导入到我的master
领域。所以json文件一般来说应该没问题。
那么,为什么这在初始启动时不起作用呢?
4条答案
按热度按时间wnvonmuf1#
这似乎是17.0.0中的一个错误,但将在17.0.1中得到修复。
参见this issue
l7mqbcuq2#
我可以如下修复它:
-e JAVA_OPTS="-Dkeycloak.import=/tmp/example-realm.json"
但是我仍然想知道为什么
-e KEYCLOAK_IMPORT
不工作。h5qlskok3#
一个新的keycloak版本的docker-compose方法对我来说很有效。
./apps/keycloak/import
目录包含我的realm-export.json
。blmhpbnm4#
使用带有
--import-realm
标志的keycloak 18.0.1,我能够将我的json放入data/import文件夹,它似乎可以工作: