79 lines
2.5 KiB
Markdown
79 lines
2.5 KiB
Markdown
# Auth/SSO Smoke-Test
|
|
|
|
Letzte Aktualisierung: 2026-03-06
|
|
|
|
Dieser Runbook prüft die 5 kritischen Flows nach Auth/SSO-Änderungen:
|
|
- Login (Passwort)
|
|
- Microsoft Start
|
|
- Microsoft Callback
|
|
- Tenant-SSO speichern
|
|
- Logout
|
|
|
|
## Voraussetzungen
|
|
|
|
- Test-User ist aktiv und hat mindestens einen aktiven Tenant.
|
|
- Es gibt einen Tenant mit Microsoft-SSO-Konfiguration.
|
|
- Für Microsoft-Flow: gültige Tenant-SSO-Credentials vorhanden (Shared oder Override).
|
|
- Testumgebung läuft und du bist als Admin eingeloggt.
|
|
|
|
## 1) Login (Passwort)
|
|
|
|
1. `login` aufrufen (optional `login?tenant=<slug>`).
|
|
2. Gültige E-Mail + Passwort eingeben.
|
|
3. Erwartung:
|
|
- Login erfolgreich, Redirect auf `admin`.
|
|
- Session enthält `user`, `available_tenants`, `current_tenant`.
|
|
- Kein Fehler-Flash.
|
|
|
|
Negativtest:
|
|
- Falsches Passwort -> generischer Fehler (kein Account-Leak), kein Login.
|
|
|
|
## 2) Microsoft Start (`auth/microsoft/start`)
|
|
|
|
1. `auth/microsoft/start?tenant=<slug>` aufrufen.
|
|
2. Erwartung:
|
|
- Bei gültigem Tenant + SSO-Config: Redirect zur Microsoft-Authorize-URL.
|
|
- URL enthält `state`, `nonce`, PKCE (`code_challenge`).
|
|
3. Negativtest:
|
|
- Ungültiger Tenant-Slug -> Redirect auf `login` mit passendem Flash.
|
|
- SSO deaktiviert/inkomplett -> Redirect zurück auf Tenant-Login mit passendem Flash.
|
|
|
|
## 3) Microsoft Callback (`auth/microsoft/callback`)
|
|
|
|
1. Erfolgreichen Callback durchlaufen lassen.
|
|
2. Erwartung:
|
|
- `state` wird einmalig konsumiert (kein Replay).
|
|
- ID-Token-Prüfungen greifen (`aud`, `iss`, `tid`, `exp/nbf`, `nonce`, Signatur).
|
|
- User wird verknüpft/provisioniert und auf `admin` weitergeleitet.
|
|
|
|
Negativtests:
|
|
- Callback mit altem/wiederverwendetem `state` -> Login schlägt sauber fehl.
|
|
- Callback ohne `code`/mit Fehler -> Redirect `login` mit Fehler-Flash.
|
|
|
|
## 4) Tenant-SSO speichern (Admin)
|
|
|
|
1. `admin/tenants/edit/<uuid>` öffnen, Tab `SSO`.
|
|
2. Pflichtwerte setzen:
|
|
- `Microsoft login` aktiv
|
|
- `Entra tenant ID`
|
|
- Shared App oder Override-Credentials vollständig
|
|
3. Speichern.
|
|
4. Erwartung:
|
|
- Save erfolgreich.
|
|
- UI-Status „Konfiguration vollständig“.
|
|
- Bei `enforce_microsoft_login=1` und unvollständiger Config: Save wird blockiert.
|
|
|
|
## 5) Logout
|
|
|
|
1. Als eingeloggter User `logout` aufrufen.
|
|
2. Erwartung:
|
|
- Session beendet.
|
|
- Remember-Me Token wird vergessen.
|
|
- Redirect auf `login`.
|
|
|
|
## Schnellcheck (optional)
|
|
|
|
- In Browser A einloggen, dann in Browser B denselben User ändern (z. B. deaktivieren).
|
|
- In Browser A nächste Anfrage auslösen.
|
|
- Erwartung: bestehende Session-Refresh-Logik greift (ggf. Logout bei inaktiv/ohne Tenant).
|