Als Auth-Service dient Keycloak. Keycloak ist eine Open Source Identity und Access Management Lösung.
- Docker
- docker-compose
docker-compose up
im Stammverzeichnis ausführen.- http://localhost:8090/auth/ aufrufen.
- Login als Admin möglich. Login mit Username
admin
Passwort:admin
Der Realm rmio wird beim Start aus der Datei ./conf/rmio_realm.json
importiert.
Dieser enthält bereits folgende Settings:
Es werden folgende Demo User angelegt:
-
bedarf
Passwort:demo
Test User um Bedarf zu testen -
spender
Passwort:demo
Test User um Spenden zu testen
Es werden automatisch folgende Gruppen angelegt:
neu
für neu registrierte Userfreigegeben
für user die freigegeben wurden. Diese werden in einem automatischen Prozess vom Java Backend verarbeitetuser
In dieser Gruppe befinden sich reguläre Usertechnical_user
Diese Gruppe enthält spezielle administrative User, die von anderen Systemen benutzt werden
-
rm_backend_user
Passwort:rm_backend_user_password
technical user für java backend -
rm_website_user
Passwort:rm_website_user_password
technical user für die website
Es wird der spring-cloud-gateway-client
angelegt.
- Valid Redirect URIs: *
- Access Token Lifespan: 1 Days
- Mapper GroupMapper (Mapper Type: Group Membership, Token Claim Name: groups)
- Mapper Username (Mapper Type: User Property, Token Claim Name: username)
Folgendes Statement exportiert den Realm rmio und seine User in das als Volume gemountete Verzeichnis ./conf/
. In der Datei rmio_realm.json
ist der Realm, in rmio_users-0.json
die User enthalten.
docker exec -it rm-auth_keycloak_1 /opt/jboss/keycloak/bin/standalone.sh -Djboss.socket.binding.port-offset=100 -Dkeycloak.migration.action=export -Dkeycloak.migration.provider=dir -Dkeycloak.migration.realmName=rmio -Dkeycloak.migration.usersExportStrategy=SAME_FILE -Dkeycloak.migration.dir=/tmp/keycloak-conf/
Das Statement muss auf eine laufende Instanz von Keycloak abgesetzt werden und startet den Keycloak mit Port-Offset nur für den Export erneut. Nach vollständigem Start kann diese Instanz wieder beendet werden.