diff --git a/Brain.md b/Brain.md index 8f5fbbb..abe3de4 100644 --- a/Brain.md +++ b/Brain.md @@ -173,3 +173,75 @@ Obwohl das Frontend-Update aktiv ist (Vaultwarden-Anmeldung schließt das Fenste 1. Prüfe die Browser-Konsole im Netzwerk-Tab, um zu sehen, ob die API-Antwort `{ enabled: false }` liefert oder blockiert wird. 2. Führe auf dem NAS `docker exec -it michess env | grep SSO` aus, um die Live-Umgebungsvariablen zu validieren. 3. Führe einen sauberen Docker-Neustart aus (`docker compose down && docker compose up -d`). + +--- + +## SSO-Fix live geloest am 2026-05-21 + +### Final funktionierende NAS-Umgebung + +In `/volume2/docker/mischlabs/.env`: + +```env +SSO_AUTHORITY=https://auth.mischlabs.de/realms/mischlabs +SSO_CLIENT_ID=michess +SSO_CLIENT_SECRET= +SSO_REDIRECT_URI=https://michess-api.mischlabs.de/v1/auth/sso/callback +APP_URL=https://michess.mischlabs.de +``` + +In `docker-compose.yml` im Service `michess` unter `environment:`: + +```yaml +SSO_AUTHORITY: ${SSO_AUTHORITY:-https://auth.mischlabs.de/realms/mischlabs} +SSO_CLIENT_ID: ${SSO_CLIENT_ID:-michess} +SSO_CLIENT_SECRET: ${SSO_CLIENT_SECRET:-} +SSO_REDIRECT_URI: ${SSO_REDIRECT_URI:-https://michess-api.mischlabs.de/v1/auth/sso/callback} +APP_URL: ${APP_URL:-https://michess.mischlabs.de} +``` + +Nach Aenderungen: + +```bash +cd /volume2/docker/mischlabs +docker compose up -d --force-recreate michess +docker exec michess env | grep SSO +curl https://michess-api.mischlabs.de/v1/auth/sso/config +``` + +Erwartete API-Antwort: + +```json +{"enabled":true} +``` + +### Keycloak Client `michess` + +```text +Client ID: michess +Valid redirect URI: https://michess-api.mischlabs.de/v1/auth/sso/callback +Web origin: https://michess.mischlabs.de +Client scopes: email Default, profile Default +``` + +### Fehlerverlauf + +1. `docker exec michess env | grep SSO` war leer, obwohl `.env` SSO-Werte enthielt. + - Ursache: NAS-Compose reichte die Variablen nicht an den Container weiter. + - Fix: `SSO_*` und `APP_URL` in `docker-compose.yml` unter `environment:` ergaenzt. + +2. `docker compose config` meldete YAML-Fehler. + - Ursache: falsche Einrueckung und ein abgeschnittener langer Wert in `nano`. + - Fix: Alle Environment-Zeilen mit korrekter Einrueckung im Mapping-Stil (`KEY: value`) gesetzt. + +3. Compose warnte: `The "CMUe..." variable is not set`. + - Ursache: Das Secret war in Compose als `${ECHTES_SECRET}` eingetragen. + - Fix: `SSO_CLIENT_SECRET: ${SSO_CLIENT_SECRET:-}` verwenden. Das echte Secret gehoert in `.env`. + +4. Button erschien, aber Callback landete auf `https://michess.mischlabs.de/v1/auth/sso/callback` und gab 404. + - Ursache: `SSO_REDIRECT_URI` zeigte auf die Frontend-Domain. + - Fix: Redirect URI auf API-Domain umgestellt. + +5. `invalid_scope` wurde durch Default Scopes `email` und `profile` im Keycloak-Client geloest. + +Kurzform: `SSO_REDIRECT_URI` zeigt auf `michess-api`, `APP_URL` zeigt auf `michess`.