Как сохранить области, пользователей и роли в Keycloak при использовании Docker и Docker Compose для его запускаJAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Как сохранить области, пользователей и роли в Keycloak при использовании Docker и Docker Compose для его запуска

Сообщение Anonymous »

У меня есть Java-приложение Spring boot, которое использует Keycloak для аутентификации и авторизации.
Я создал свою область, ее пользователей и роли. Я хочу закрепить приложение с помощью Docker Compose. Итак, я создал образ Docker моего Java-приложения.
Но когда я захочу создать экземпляр Keycloak (извлекая образ Keyckloak из dockerhub), я потеряю свои постоянные области, пользователей и роли, которые я создал ранее, потому что это создает новый Keycloak из извлеченного образа докера. Как сохранить эти данные каждый раз, когда я запускаю приложение с помощью Docker Compose?
На самом деле мне нужно, чтобы данные Keycloak (области, пользователи и роли) инициализировались автоматически всякий раз, когда я запускаю Docker Compose.
Обновление:
Позвольте мне прояснить проблему.
Я хочу разместить коды на Github, и когда кто-нибудь получит и запустит их это (тщательное составление докера); используя предопределенные пользователи и пароли keycloak, используйте приложение. Проблема в том, что когда кто-то каждый раз запускает код с помощью Docker Compose, нет области, пользователей и ролей, потому что образ Keycloak извлекается и запускается без каких-либо данных (областей, пользователя и т. д.). На самом деле я не хочу, чтобы пользователи, запускающие приложение, определяли данные Keycloak (область, пользователь и т. д.). Я хочу, чтобы эти данные уже существовали в каждом запущенном приложении, чтобы пользователи могли войти в мое приложение и использовать его.
application.yml:

Код: Выделить всё

spring:
application:
name: my-client
security:
oauth2:
client:
registration:
myclientapp:
client-id: my-client-app
client-secret: secrectKey12345
scope: openid, profile, roles
authorization-grant-type: authorization_code
redirect-uri: http://localhost:8085/login/oauth2/code/myclientapp
provider:
myclientapp:
authorization-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/auth
token-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/token
jwk-set-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/certs
user-info-uri: http://localhost:8080/realms/myclientapp/protocol/openid-connect/userinfo
user-name-attribute: preferred_username
Файл pox.xml:

Код: Выделить всё

xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
4.0.0

org.springframework.boot
spring-boot-starter-parent
3.2.5
 

com.my-client
client
0.0.1-SNAPSHOT
client
Demo project for Spring Client

17



org.springframework.boot
spring-boot-starter-thymeleaf


org.springframework.boot
spring-boot-starter-web


org.springframework.boot
spring-boot-starter-oauth2-client


org.springframework.boot
spring-boot-starter-validation


org.springframework.boot
spring-boot-devtools
runtime
true


org.projectlombok
lombok
true


org.springframework.boot
spring-boot-starter-test
test






org.springframework.boot
spring-boot-maven-plugin



org.projectlombok
lombok








Большое спасибо.


Подробнее здесь: https://stackoverflow.com/questions/787 ... en-using-d
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»