Keycloak URLs ändern
Im nächsten Schritt müssten für TMD die Keycloak-URLs des STAGE-Frontends, STAGE-Backends und der STAGE-iOS/Android-Apps angepasst werden, so dass diese auf den UFZ-Keycloak zeigen. Für das Backend kann ich das selbst machen, indem ich die Umgebungsvariablen des Docker-Containers ändere.
Im Falle des Frontends müsste hingegen ein neues Image mit angepasster .env.stage gebaut werden. In die iOS- und Android-App sind die URLs mutmaßlich auch hart eincodiert, so dass wir hierfür auch neue STAGE-Releases benötigen.
Ich bin mir nicht sicher, ob es mit einer alleinigen Anpassung der URLs getan ist, da im UFZ die Keycloak-Version 19.0.1 eingesetzt wird und Adesso meines Wissens noch mit Version 16.1.1 läuft. Beim Versionssprung von 16 auf 17 gab es bei Keycloak zahlreiche Breaking Changes, die sich u.a. auch auf die URLs auswirken (z.B. beginnen die Endpoint-Routen nicht mehr mit /auth).
Daher müsste vermutlich insbesondere beim Frontend noch einmal genauer geprüft werden, ob alle genutzen Routen weiterhin korrekt sind. Denn wenn ich es richtig sehe, dann werden die konkreten URLs überwiegend im Code anhand der Umgebungsvariablen VUE_APP_KEYCLOAK_URL und VUE_APP_KEYCLOAK_REALM zusammengebaut und durchgereicht. (Für die Mobile-Apps kann ich es nicht beurteilen).
Daher hänge ich hier noch die well-known Konfigurationen des Biome-Realm beider Keycloaks an, damit ihr die Adressen vergleichen könnt.
Seit der Keycloak-Version 18 wird das Logout anders gehandhabt. Der bisher an die Logout-URL übergebene Parameter redirect_uri wird nicht mehr unterstützt und führt zum Fehler.
Damit es auch mit einem aktuellen Keycloak funktioniert, sind 2 Anpassungen nötig:
Der Parameter redirect_uri muss in post_logout_redirect_uri umbenannt werden. Zusätzlich muss der Parameter id_token_hint übergeben werden, welcher das id_token enthält, das beim Login über den Token-Endpoint bezogen wurde.
AK
-
Umgebungsvariablen wurden angepasst für Stage -
Umgebungsvariablen wurden angepasst für Prod -
Changelog wurde ergänzt
Review
-
Umgebungsvariablen wurden angepasst für Stage -
Umgebungsvariablen wurden angepasst für Prod -
Changelog wurde ergänzt