Als Auth-Service dient Keycloak. Keycloak ist eine Open Source Identity und Access Management Lösung.
- Docker
- docker-compose
docker-compose upim Stammverzeichnis ausführen.- http://localhost:8090/auth/ aufrufen.
- Login als Admin möglich. Login mit Username
adminPasswort: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:
-
bedarfPasswort:demoTest User um Bedarf zu testen -
spenderPasswort:demoTest User um Spenden zu testen
Es werden automatisch folgende Gruppen angelegt:
neufür neu registrierte Userfreigegebenfür user die freigegeben wurden. Diese werden in einem automatischen Prozess vom Java Backend verarbeitetuserIn dieser Gruppe befinden sich reguläre Usertechnical_userDiese Gruppe enthält spezielle administrative User, die von anderen Systemen benutzt werden
-
rm_backend_userPasswort:rm_backend_user_passwordtechnical user für java backend -
rm_website_userPasswort:rm_website_user_passwordtechnical 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.