Authenticatie
BeePass gebruikt Supabase Auth met SSR (Server-Side Rendering) cookies. Authenticatie wordt automatisch afgehandeld door de browser via HttpOnly cookies.
Registratie
Maak een account aan via de webinterface of de Supabase Auth API:
- E-mail: geldig e-mailadres (geverifieerd via link)
- Wachtwoord: minimaal 8 tekens, 1 cijfer, 1 speciaal teken
- Beschikbare rollen:
eleveur(fokker),testeur(tester),groupe_selection,research_center
De rollen groupe_selection en research_center vereisen beheerdersvalidatie na registratie.
Inloggen
Inloggen via Supabase Auth (signInWithPassword) stelt automatisch de SSR-sessiecookies in. Er is geen handmatige Authorization-header nodig voor API-aanroepen vanuit de browser.
MFA (Multi-Factor Authenticatie)
Bij het inloggen vanaf een nieuw apparaat wordt een 6-cijferige code per e-mail verzonden (via Brevo). Het apparaat wordt geïdentificeerd via fingerprint (Canvas + User-Agent).
- Herkende apparaten activeren geen MFA
- De code vervalt na 10 minuten
- Maximaal 10 verificatiepogingen per minuut
Sessies
| Methode | Route | Beschrijving |
|---|---|---|
GET | /api/auth/sessions | Actieve sessies weergeven |
DELETE | /api/auth/sessions | Een sessie intrekken (body: { session_id }) |
Intrekking verwijdert het refresh token. De huidige JWT blijft geldig tot de vervaldatum (~1 uur).
Admin Auth
Beheerdersauthenticatie is onafhankelijk van de fokkersessie. Beide bestaan gelijktijdig naast elkaar.
| Methode | Route | Beschrijving |
|---|---|---|
POST | /api/admin/auth/login | Admin-login (stelt HMAC-cookie in) |
GET | /api/admin/auth/session | Admin-sessie lezen |
POST | /api/admin/auth/logout | Admin-uitloggen (verwijdert cookie) |
De beepass-admin-token cookie is een HMAC-ondertekende JWT (HS256), HttpOnly, Secure, SameSite=Strict, met een vervaltijd van 8 uur.
U kunt tegelijkertijd ingelogd zijn als fokker (Supabase-cookie) en als beheerder (HMAC-cookie). Beide sessies zijn onafhankelijk.
Audit
| Methode | Route | Beschrijving |
|---|---|---|
POST | /api/auth/audit | Een auditgebeurtenis registreren |
GET | /api/auth/audit | Auditgebeurtenisgeschiedenis |
Auditgebeurtenissen volgen inlogpogingen, uitloggen, sessie-intrekkingen en gevoelige acties.
Account verwijderen
| Methode | Route | Beschrijving |
|---|---|---|
DELETE | /api/auth/delete-account | Account verwijderen (MFA-verificatie vereist) |
Zie ook: Overzicht | Koninginnen | Evaluaties