Files
kiddo/docs/oidc-validation.md

1.3 KiB

ID: DOC_000003 | Version: 0.1.0 | Status: Draft 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:8000).
  • OIDC Provider oder Stub erreichbar.
  • SKD_AUTH_MODE=oidc und SKD_OIDC_* gesetzt.
  • Redirect-URI: https://<device-host>[: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:
  • Provider:
  • Host/Redirect:
  • Ergebnis:
  • Fehlerbilder:

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.