Ziel
Der Login soll nicht bei jedem Anmeldeversuch zwingend die Vereinsflieger-API aufrufen. Stattdessen soll ein lokaler Login mit gespeichertem Passwort-Hash möglich sein, solange der Benutzer kürzlich erfolgreich gegen Vereinsflieger verifiziert wurde und weiterhin als aktiv gilt.
Anforderungen
- Login gegen den lokal gespeicherten Passwort-Hash ermöglichen.
- Ein lokaler Login ist nur zulässig, wenn der Benutzer als aktiv markiert ist.
- Ein lokaler Login ist nur zulässig, wenn die letzte erfolgreiche Vereinsflieger-Verifikation nicht älter als ein definierter Zeitraum ist.
- Ist der Benutzer nicht aktiv oder die letzte Verifikation zu alt, muss vor dem Login eine Verifikation gegen Vereinsflieger erfolgen.
- Bei erfolgreicher Vereinsflieger-Verifikation müssen die lokalen Benutzerdaten aktualisiert werden.
- Bei erfolgreicher Vereinsflieger-Verifikation muss der lokale Passwort-Hash auf das aktuell verwendete Passwort aktualisiert werden.
- Bei fehlgeschlagener Vereinsflieger-Verifikation darf kein Login erfolgen.
Datenmodell
users um folgende Felder erweitern:
vf_active (boolean, Default true)
vf_last_verified_at (timestamp, nullable)
vf_last_seen_at (timestamp, nullable)
- Bestehende Benutzer müssen sauber migriert werden.
Login-Flow
- Benutzer über den lokalen User-Store laden.
- Prüfen, ob der lokale Passwort-Hash passt.
- Prüfen, ob
vf_active = true.
- Prüfen, ob
vf_last_verified_at innerhalb der erlaubten Frist liegt.
- Wenn alles erfüllt ist: lokaler Login ohne Vereinsflieger-API.
- Wenn die Verifikation fehlt oder veraltet ist: Vereinsflieger-Login durchführen.
- Bei Erfolg:
- lokale Stammdaten aktualisieren
- Passwort-Hash aktualisieren
vf_last_verified_at setzen
vf_active = true setzen
- Bei Fehlschlag: Login ablehnen.
Synchronisation ausgeschiedener Mitglieder
- Es muss einen regelmäßigen Sync der Vereinsflieger-Benutzer geben.
- Benutzer, die im relevanten Vereinsflieger-Datenbestand nicht mehr vorhanden oder nicht mehr zulässig sind, müssen lokal deaktiviert werden.
- Für deaktivierte Benutzer müssen bestehende Sessions ungültig gemacht werden.
- Deaktivierte Benutzer dürfen sich nicht mehr lokal anmelden.
- Benutzer sollen nicht gelöscht, sondern deaktiviert werden.
Konfigurierbarkeit
- Der maximale Zeitraum für eine lokale Anmeldung ohne neue Vereinsflieger-Verifikation muss konfigurierbar sein.
- Der Sync soll über einen bestehenden oder neuen Command sauber ausführbar sein.
Akzeptanzkriterien
Ziel
Der Login soll nicht bei jedem Anmeldeversuch zwingend die Vereinsflieger-API aufrufen. Stattdessen soll ein lokaler Login mit gespeichertem Passwort-Hash möglich sein, solange der Benutzer kürzlich erfolgreich gegen Vereinsflieger verifiziert wurde und weiterhin als aktiv gilt.
Anforderungen
Datenmodell
usersum folgende Felder erweitern:vf_active(boolean, Defaulttrue)vf_last_verified_at(timestamp, nullable)vf_last_seen_at(timestamp, nullable)Login-Flow
vf_active = true.vf_last_verified_atinnerhalb der erlaubten Frist liegt.vf_last_verified_atsetzenvf_active = truesetzenSynchronisation ausgeschiedener Mitglieder
Konfigurierbarkeit
Akzeptanzkriterien