docs: add oidc validation runbook
This commit is contained in:
38
docs/oidc-validation.md
Normal file
38
docs/oidc-validation.md
Normal file
@ -0,0 +1,38 @@
|
||||
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.
|
||||
Reference in New Issue
Block a user