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
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
| Methode | Route | Beschreibung |
|---|---|---|
GET | /api/auth/sessions | Liste aktiver Sitzungen |
DELETE | /api/auth/sessions | Sitzung 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.
| Methode | Route | Beschreibung |
|---|---|---|
POST | /api/admin/auth/login | Admin-Anmeldung (setzt HMAC-Cookie) |
GET | /api/admin/auth/session | Admin-Sitzung lesen |
POST | /api/admin/auth/logout | Admin-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.
Sie können gleichzeitig als Züchter (Supabase-Cookie) und als Administrator (HMAC-Cookie) angemeldet sein. Beide Sitzungen sind unabhängig voneinander.
Audit
| Methode | Route | Beschreibung |
|---|---|---|
POST | /api/auth/audit | Audit-Ereignis protokollieren |
GET | /api/auth/audit | Audit-Ereignisverlauf |
Audit-Ereignisse verfolgen Anmeldungen, Abmeldungen, Sitzungswiderrufe und sensible Aktionen.
Kontolöschung
| Methode | Route | Beschreibung |
|---|---|---|
DELETE | /api/auth/delete-account | Konto löschen (MFA-Verifizierung erforderlich) |
Siehe auch: Übersicht | Königinnen | Bewertungen