f774d686a4
Added a session log detailing Docker build path updates, frontend auth flow stabilization (replacing `Auth` plugin with dynamic auth header injection), and Keycloak realm configuration adjustments. Document outlines issues, solutions, and results for improved traceability and system stability.
2.0 KiB
2.0 KiB
type, status, owner, date, participants
| type | status | owner | date | participants | |||
|---|---|---|---|---|---|---|---|
| Journal | COMPLETED | Curator | 2026-01-23 |
|
Session Log: Auth & Build Fixes
Datum: 23. Jänner 2026 Ziel: Behebung von Build-Fehlern im Docker-Stack und Stabilisierung des Auth-Flows (Login/Logout) im Frontend.
Durchgeführte Arbeiten
1. Docker Build Fix (DevOps)
- Problem: Der Build von
api-gatewayundping-serviceschlug fehl, weil Gradle das Modul:frontend:core:authkonfigurieren wollte, dessen Pfad im Docker-Container fehlte. - Lösung: Die
Dockerfiles beider Services wurden aktualisiert, um die neue Frontend-Struktur (frontend/core/authstattfrontend/features/auth-feature) widerzuspiegeln.
2. Frontend Auth Stabilisierung (Frontend Expert)
- Problem 1 (Login 401): Der
AuthApiClientnutzte den globalenapiClient, der für das Gateway konfiguriert war (DefaultRequestmit Base URL). Dies führte zu Konflikten bei Requests gegen Keycloak.- Lösung: Einführung eines
baseHttpClient(named) imNetworkModule, der "nackt" ist. DerAuthApiClientnutzt nun diesen Client.
- Lösung: Einführung eines
- Problem 2 (Logout ineffektiv): Das Ktor
AuthPlugin cachete den Token intern, sodass ein Logout (AuthTokenManager.clearToken()) erst beim Neustart wirksam wurde.- Lösung: Entfernung des
AuthPlugins aus demapiClient. Stattdessen wird derAuthorizationHeader nun viainstall(DefaultRequest)dynamisch bei jedem Request aus demTokenProvidergelesen.
- Lösung: Entfernung des
3. Keycloak Konfiguration
- Problem: Der Admin-User musste beim ersten Login das Passwort ändern (
temporary: true), was den API-Login blockierte. - Lösung: In
meldestelle-realm.jsonwurdetemporary: falsegesetzt.
Ergebnisse
- Der Docker-Build läuft fehlerfrei durch.
- Login funktioniert stabil.
- Logout funktioniert sofort (nachfolgende Requests liefern korrekt 401).
- Die Architektur im Frontend ist durch die Trennung der HttpClients sauberer.
Status: 🟢 System Fully Operational