Files
proxdeploy/docs/issues/016-oidc.md
T
florian.wildeandClaude Opus 5.5 e21ac97dbb chore(release): v0.5.0
Etappe 5: Verlauf mit Filtern, Wiederholen und Aufräumen; Benutzerverwaltung, Passwort, Audit-Log; OIDC.

Refs #014, #015, #016

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-12 16:58:38 +02:00

1.5 KiB
Raw Blame History

#016 Anmeldung per OIDC

Status: erledigt Meilenstein: v0.5.0 Labels: feature, sicherheit Geschätzt: 4 h Tatsächlich: 0 h 08 min

Ziel

Optionale OIDC-Anmeldung (z. B. authentik), Rollen über Gruppen-Claim.

Aufgaben

  • openid-client 6.8.8 mit PKCE, State, Nonce, Discovery; Gruppen → Rolle bei jeder Anmeldung; Konto-Verknüpfung aus den Einstellungen
  • Anmeldeseite mit „Mit … anmelden“ und verständlichen Fehlermeldungen (?sso=…)

Akzeptanzkriterien

  • Tests gegen einen Mock-IdP (tests/oidc-mock.ts): Anlegen, Rollenwechsel, keine Gruppe, keine Übernahme per Name, Verknüpfen, gesperrt, gefälschter State, fehlendes Cookie, falsche Nonce, fremde Audience – echter IdP beim Feldtest (#020)

Abhängigkeiten

#015

Notizen / Entscheidungen

  • Keine automatische Übernahme lokaler Konten über den Namen – sonst übernähme, wer beim IdP „admin“ heißt, den lokalen Admin. Bei Namensgleichheit bekommt das SSO-Konto „name-2“.
  • IdP maßgeblich für die Rolle: bei jeder Anmeldung aus den Gruppen; Wechsel kommt ins Audit-Log.
  • Ablaufzustand (Verifier, State, Nonce, Ziel) in einem kurzlebigen signierten Cookie (pd_oidc, 10 min, nur /api/v1/auth/oidc, SameSite=Lax) statt in der Datenbank.
  • redirect_uri und die Rückruf-URL werden aus APP_URL gebildet – hinter dem Reverse-Proxy trägt die Anfrage den internen Host.
  • Client-Anmeldung client_secret_post (Standard von openid-client); authentik und Keycloak können beides.