Zum Hauptinhalt springen

Authentifizierung

BeePass verwendet Supabase Auth mit SSR-Cookies (Server-Side Rendering). Die Authentifizierung wird automatisch vom Browser über HttpOnly-Cookies verwaltet.

Registrierung

Erstellen Sie ein Konto über die Weboberfläche oder die Supabase Auth API:

  • E-Mail: gültige E-Mail-Adresse (Verifizierung per Link)
  • Passwort: mindestens 8 Zeichen, 1 Ziffer, 1 Sonderzeichen
  • Verfügbare Rollen: eleveur (Züchter), testeur (Prüfer), groupe_selection, research_center
Geschützte Rollen

Die Rollen groupe_selection und research_center erfordern eine Validierung durch einen Administrator nach der Registrierung.

Anmeldung

Die Anmeldung über Supabase Auth (signInWithPassword) setzt automatisch die SSR-Sitzungscookies. Kein manueller Authorization-Header ist für API-Aufrufe aus dem Browser erforderlich.

MFA (Multi-Faktor-Authentifizierung)

Bei der Anmeldung von einem neuen Gerät wird ein 6-stelliger Code per E-Mail gesendet (über Brevo). Das Gerät wird durch Fingerprint (Canvas + User-Agent) identifiziert.

  • Bekannte Geräte lösen kein MFA aus
  • Der Code läuft nach 10 Minuten ab
  • Maximal 10 Verifizierungsversuche pro Minute

Sitzungen

MethodeRouteBeschreibung
GET/api/auth/sessionsListe aktiver Sitzungen
DELETE/api/auth/sessionsSitzung widerrufen (Body: { session_id })

Der Widerruf löscht das Refresh-Token. Das aktuelle JWT bleibt bis zum Ablauf gültig (~1 Stunde).

Admin-Authentifizierung

Die Admin-Authentifizierung ist unabhängig von der Züchter-Sitzung. Beide bestehen gleichzeitig nebeneinander.

MethodeRouteBeschreibung
POST/api/admin/auth/loginAdmin-Anmeldung (setzt HMAC-Cookie)
GET/api/admin/auth/sessionAdmin-Sitzung lesen
POST/api/admin/auth/logoutAdmin-Abmeldung (löscht Cookie)

Der Cookie beepass-admin-token ist ein HMAC-signiertes JWT (HS256), HttpOnly, Secure, SameSite=Strict, mit einer Gültigkeit von 8 Stunden.

Doppelte Sitzung

Sie können gleichzeitig als Züchter (Supabase-Cookie) und als Administrator (HMAC-Cookie) angemeldet sein. Beide Sitzungen sind unabhängig voneinander.

Audit

MethodeRouteBeschreibung
POST/api/auth/auditAudit-Ereignis protokollieren
GET/api/auth/auditAudit-Ereignisverlauf

Audit-Ereignisse verfolgen Anmeldungen, Abmeldungen, Sitzungswiderrufe und sensible Aktionen.

Kontolöschung

MethodeRouteBeschreibung
DELETE/api/auth/delete-accountKonto löschen (MFA-Verifizierung erforderlich)

Siehe auch: Übersicht | Königinnen | Bewertungen