Я запускаю сервер 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 и импортирую этот файл вручную, «springboot-quickstart» клиент успешно импортируется в мою область master
. Так что файл json в целом должен быть в порядке.
Так почему же это не работает при первом запуске?
Журналов ошибок и сбоев нет. Я не использую здесь ничего особенного, просто образ докера по умолчанию, как написано выше, с точным файлом json.
Я мог бы исправить это следующим образом:
-e JAVA_OPTS = "-Dkeycloak.import=/tmp/example-realm.json"
Но все же хотелось бы знать, почему -e KEYCLOAK_IMPORT
не работает.
Похоже, это ошибка в 17.0.0, но она будет исправлена в 17.0.1.
См. Эта проблема
Это принято в качестве ответа, но 17.0.1 отсутствует, и, похоже, это не работает, как заявил OP. Можете описать в чем это исправлено или как это сделать в 17.0.1? Связанная проблема также не дает решения этого вопроса, если только вы не ссылаетесь на другую проблему, на которую они ссылаются оттуда, в которой говорится, что она будет исправлена в 18.0.0.
Это странно. Он имеет те же переменные среды, что и мы (хотя наш образ keycloak — jboss/keycloak). Есть ли какие-либо журналы ошибок или предупреждений?