ID: DOC_000003 | Version: 0.2.3 | Status: Draft Archived – superseded by new documentation. By: Codex (GPT-5) # OIDC End-to-End Validation (Kiddo) ## Purpose Validiere den OIDC-Login-Flow gegen einen realen oder Stub-Provider und dokumentiere Ergebnisse. ## Preconditions - Kiddo laeuft und ist erreichbar (z.B. `http://localhost`). - OIDC Provider oder Stub erreichbar. - `SKD_AUTH_MODE=oidc` und `SKD_OIDC_*` gesetzt. - Redirect-URI: `https://[:port]/login/oidc/callback` ist registriert. ## Validation Steps 1. OIDC Start - Aufruf: `GET /login/oidc/start` - Erwartet: Redirect zum Provider, State-Cookie gesetzt. 2. Callback - Provider ruft `GET /login/oidc/callback?code=...&state=...` auf. - Erwartet: State valid, Token-Exchange erfolgreich, Session-Cookie gesetzt, Redirect `/`. 3. Session Check - Aufruf: `GET /me` mit Cookie oder Bearer. - Erwartet: `user` und `auth_mode=oidc`. 4. Allowlist - Falls `SKD_AUTH_ALLOWED_USERS` gesetzt: nicht erlaubte User werden mit 403 abgewiesen. ## Results - Datum: 28.12.2025 - Provider: nicht konfiguriert (IdP noch nicht bereit) - Host/Redirect: n/a - Ergebnis: Blocked (Service nicht erreichbar unter http://localhost/health) - Fehlerbilder: curl (7) Couldn't connect to server ## Fallbacks bei unvollstaendigem IdP - Discovery/JWKS fehlt: OIDC deaktivieren und PAM nutzen. - DCR fehlt: Client manuell im IdP anlegen und `SKD_OIDC_*` setzen. - TLS-Probleme: CA trusten oder PAM fuer Dev nutzen.