Files
breadcrumb-the-shire/docs/auth-sso-smoke-test.md
2026-02-23 12:58:19 +01:00

2.5 KiB

Auth/SSO Smoke-Test

Letzte Aktualisierung: 2026-02-22

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).