Kundinnen und Kunden haben ein sicheres Konto mit Bestellhistorie, Adressen, Wunschliste und Rechnungen; Admins melden sich über dasselbe Login an.
Umgesetzt
Registrierung mit Pflicht-Bestätigung der E-Mail-Adresse, Login mit bcrypt, signiertes Session-Cookie (JWT, jose), Konto-Sperre nach Fehlversuchen
Zwei-Faktor-Authentifizierung per TOTP mit Backup-Codes und Replay-Schutz (/konto/zwei-faktor)
„Passwort vergessen“, „Alle Geräte abmelden“, Session-Widerruf über sessionVersion
Bestellhistorie, „Bestellung erneut auslösen“, mehrere Adressen, Wunschliste, Rechnungen als HTML/PDF, Newsletter mit Double-Opt-In
Seite „Sicherheit und Datenschutz“ im Konto (3107a02) und Datenexport (/api/konto/datenexport)
Mit Microsoft anmelden (Entra ID, PKCE) nur, wenn eingerichtet (0fb176a, lib/entra.ts); SSO umgeht die Admin-2FA nicht mehr (2bbb38c)
Session-Prüfung akzeptiert keine Token anderer Zwecke (3e81896)
Gestaltung im Wabenstil (6ac7cc5)
Grundlage
README, Abschnitte „Admin-Zugang“ und „Sicherheit“; src/lib/session.ts, src/lib/two-factor.ts, src/lib/entra.ts.
Status
Code: ja · Geprüft: ja (Unit-Tests session, entra, csrf; CI grün) · Gemergt: ja · Produktiv: ja (im Build sha-0d254db enthalten, laut Cluster-Abfrage 2026-10-16 live)
Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)
## Ziel
Kundinnen und Kunden haben ein sicheres Konto mit Bestellhistorie, Adressen, Wunschliste und Rechnungen; Admins melden sich über dasselbe Login an.
## Umgesetzt
- [x] Registrierung mit Pflicht-Bestätigung der E-Mail-Adresse, Login mit bcrypt, signiertes Session-Cookie (JWT, `jose`), Konto-Sperre nach Fehlversuchen
- [x] Zwei-Faktor-Authentifizierung per TOTP mit Backup-Codes und Replay-Schutz (`/konto/zwei-faktor`)
- [x] „Passwort vergessen“, „Alle Geräte abmelden“, Session-Widerruf über `sessionVersion`
- [x] Bestellhistorie, „Bestellung erneut auslösen“, mehrere Adressen, Wunschliste, Rechnungen als HTML/PDF, Newsletter mit Double-Opt-In
- [x] Seite „Sicherheit und Datenschutz“ im Konto (`3107a02`) und Datenexport (`/api/konto/datenexport`)
- [x] Mit Microsoft anmelden (Entra ID, PKCE) nur, wenn eingerichtet (`0fb176a`, `lib/entra.ts`); SSO umgeht die Admin-2FA nicht mehr (`2bbb38c`)
- [x] Session-Prüfung akzeptiert keine Token anderer Zwecke (`3e81896`)
- [x] Gestaltung im Wabenstil (`6ac7cc5`)
## Grundlage
README, Abschnitte „Admin-Zugang“ und „Sicherheit“; `src/lib/session.ts`, `src/lib/two-factor.ts`, `src/lib/entra.ts`.
## Status
Code: ja · Geprüft: ja (Unit-Tests session, entra, csrf; CI grün) · Gemergt: ja · Produktiv: ja (im Build sha-0d254db enthalten, laut Cluster-Abfrage 2026-10-16 live)
Stand: 2026-10-16 (Quelle: git origin/main 35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Ziel
Kundinnen und Kunden haben ein sicheres Konto mit Bestellhistorie, Adressen, Wunschliste und Rechnungen; Admins melden sich über dasselbe Login an.
Umgesetzt
jose), Konto-Sperre nach Fehlversuchen/konto/zwei-faktor)sessionVersion3107a02) und Datenexport (/api/konto/datenexport)0fb176a,lib/entra.ts); SSO umgeht die Admin-2FA nicht mehr (2bbb38c)3e81896)6ac7cc5)Grundlage
README, Abschnitte „Admin-Zugang“ und „Sicherheit“;
src/lib/session.ts,src/lib/two-factor.ts,src/lib/entra.ts.Status
Code: ja · Geprüft: ja (Unit-Tests session, entra, csrf; CI grün) · Gemergt: ja · Produktiv: ja (im Build sha-0d254db enthalten, laut Cluster-Abfrage 2026-10-16 live)
Stand: 2026-10-16 (Quelle: git origin/main
35e7c84, Cluster-Abfrage nur lesend am 2026-10-16, Session-Status, Memory)