90 — Two-Factor-Authentication (2FA)

Aktualisiert am 1. Juni 2026

90 — Two-Factor-Authentication (2FA)

PartnerDesk bietet TOTP-basierte Zwei-Faktor-Authentifizierung für Plattform-Admins und Tenant-Admins. Partner bekommen 2FA in einer späteren Phase.

Wie funktioniert 2FA?

Sie melden sich mit Email + Passwort wie üblich an. Anschließend fordert das System einen 6-stelligen Code aus einer Authenticator-App (z. B. Google Authenticator, Authy, 1Password, Microsoft Authenticator). Erst nach Eingabe des korrekten Codes erhalten Sie Zugriff.

Setup-Anleitung

  1. EinstellungenSicherheit„2FA aktivieren".
  2. QR-Code scannen: PartnerDesk zeigt einen QR-Code an. Öffnen Sie Ihre Authenticator-App und scannen Sie ihn.
    • Alternative: Wenn Sie den QR-Code nicht scannen können, ist das Secret darunter als Text dargestellt — manuell in der App eingeben.
  3. Bestätigungscode eingeben: Die App zeigt einen 6-stelligen Code, der sich alle 30 Sekunden ändert. Geben Sie den aktuellen Code im PartnerDesk-Setup-Wizard ein.
  4. Backup-Codes sichern (siehe unten).
  5. Fertig — 2FA ist aktiv.

Backup-Codes

Direkt nach erfolgreichem Setup erhalten Sie 10 einmalig verwendbare Codes im Format XXXXX-XXXXX. Bewahren Sie sie an einem sicheren Ort auf (Passwort-Manager, ausgedruckt in einem Safe).

Wofür?

Falls Sie Ihr Smartphone verlieren oder die Authenticator-App nicht mehr funktioniert, melden Sie sich stattdessen mit einem Backup-Code an. Jeder Code lässt sich genau einmal verwenden.

Eigenschaften

  • Codes enthalten keine Verwechslungs-Zeichen (kein 0/O, kein I/1).
  • Eingabe ist case-insensitive und Whitespace-tolerant — Tippfehler verzeiht das System.
  • Nach Verbrauch eines Codes sehen Sie die verbleibende Anzahl in Ihren Settings.

Neu generieren

In den Settings unter „2FA-Backup-Codes" gibt es „Neu generieren". Erfordert Bestätigung mit einem aktuellen TOTP-Code. Alte Codes werden komplett invalidiert.

2FA deaktivieren

Settings → „2FA deaktivieren". Erfordert Bestätigung mit aktuellem TOTP-Code. Damit werden auch alle Backup-Codes gelöscht.

Login-Flow mit aktivem 2FA

  1. Email + Passwort eingeben.
  2. PartnerDesk liefert statt JWT eine Challenge zurück (requires2fa: true).
  3. Frontend wechselt zur 2FA-Maske.
  4. Sie geben einen TOTP-Code oder einen Backup-Code ein.
  5. Bei Erfolg: echter JWT-Token wird erteilt → Login abgeschlossen.
  6. Bei Fehler: Hinweis + nochmaliger Versuch. Nach 5 falschen Versuchen pro Minute greift das Rate-Limiting (siehe 91).

Sicherheits-Eigenschaften

  • Clock-Skew-Toleranz: TOTP-Codes haben ±1 Window-Toleranz (30 Sekunden) — Ihre Uhr darf leicht abweichen.
  • Challenge-Token sind opaque (kein JWT) und nur einmal verwendbar, mit 5-Minuten-TTL. Damit kann ein abgefangener Challenge-Token nicht als regulärer Auth-Token missbraucht werden.
  • Backup-Codes werden gehasht in der Datenbank gespeichert. Auch Plattform-Admins sehen Ihre Codes nicht.

Best Practices

  • Aktivieren Sie 2FA für Ihren Plattform-Admin und für Tenant-Owner-Accounts.
  • Bewahren Sie Backup-Codes nicht im selben Speicher wie das Passwort auf (z. B. nicht im selben Passwort-Manager-Eintrag wie das Login-Passwort).
  • Bei verlorenem Smartphone: Nutzen Sie einen Backup-Code, deaktivieren Sie 2FA, richten Sie es mit dem neuen Gerät neu ein.

2FA für Partner

Partner haben aktuell kein 2FA. Geplant für eine spätere Phase. Bis dahin gilt: starke Passwörter + Rate-Limiting.

Verwandte Kapitel


Technische Tiefen-Doku: ../028-rate-limit-2fa-sentry.md, ../032-2fa-frontend-backup-codes.md, ../044-2fa-tenant-admins.md