ADR-0019 Nachtrag: Self-Service-Passwortänderung
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
parent
d91167b7f0
commit
5eabdbd180
@ -113,3 +113,37 @@ Organization-Kontaktfelder ergänzt. `benutzer` (inkl. der neuen
|
||||
Tabelle lebt in `kundenplattform`s eigener, von `provisioning-server`
|
||||
getrennter Datenbank (siehe ADR-0011) und war schon vorher nicht
|
||||
Bestandteil dieses Dokuments.
|
||||
|
||||
## Nachtrag 26.08.2026: Self-Service-Passwortänderung
|
||||
|
||||
Der ursprüngliche Umfang dieser ADR deckte Kontenverwaltung (Anlegen/
|
||||
Löschen fremder Konten durch `require_org_admin`) ab, aber keine
|
||||
Möglichkeit für einen Nutzer, sein **eigenes** Passwort zu ändern — dafür
|
||||
war bislang ausschließlich das CLI-Skript `scripts/reset_password.py`
|
||||
(aus der Sicherheitshärtung vom 25.08.2026) zuständig, nicht per
|
||||
Self-Service erreichbar.
|
||||
|
||||
Neue Route `POST /organisation/passwort`, neue Sektion „Mein Konto" auf
|
||||
derselben `/organisation`-Seite. Bewusst **ohne** `require_org_admin` —
|
||||
anders als Kontenverwaltung für Dritte braucht das eigene Passwort keine
|
||||
besondere Rolle, jedes eingeloggte Konto darf es ändern. Prüft das
|
||||
aktuelle Passwort über `user_manager.authenticate()` (gleiches Muster wie
|
||||
der Login in `auth.py`), validiert das neue Passwort explizit gegen die
|
||||
bestehende `UserManager.validate_password()`-Policy (≥12 Zeichen, nicht
|
||||
gleich der E-Mail-Adresse, siehe Sicherheitshärtung 25.08.2026) und zeigt
|
||||
Fehler inline auf derselben Seite statt als nackte `HTTPException` —
|
||||
dafür wurde die Kontext-Beschaffung aus `organisation_ansicht()` in eine
|
||||
gemeinsame Hilfsfunktion `_organisation_kontext()` ausgelagert.
|
||||
|
||||
Bekannte, akzeptierte Einschränkung: die JWT-Session bleibt nach einer
|
||||
Passwortänderung bis zu ihrem regulären Ablauf gültig (kein
|
||||
Session-Revocation-Mechanismus vorhanden, war auch vorher schon so) —
|
||||
ein bereits eingeloggtes Gerät wird durch eine Passwortänderung nicht
|
||||
automatisch ausgeloggt.
|
||||
|
||||
Live auf anode verifiziert (WLAN-Test-Fixture-Konto, Passwort danach auf
|
||||
den dokumentierten Fixture-Wert zurückgesetzt): falsches aktuelles
|
||||
Passwort, zu kurzes neues Passwort, nicht übereinstimmende Wiederholung
|
||||
liefern je `400` mit der passenden Inline-Fehlermeldung; der Erfolgsfall
|
||||
liefert `303`, das alte Passwort funktioniert danach nicht mehr, das neue
|
||||
sofort.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user