Naar hoofdinhoud gaan

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
Beschermde rollen

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

MethodeRouteBeschrijving
GET/api/auth/sessionsActieve sessies weergeven
DELETE/api/auth/sessionsEen 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.

MethodeRouteBeschrijving
POST/api/admin/auth/loginAdmin-login (stelt HMAC-cookie in)
GET/api/admin/auth/sessionAdmin-sessie lezen
POST/api/admin/auth/logoutAdmin-uitloggen (verwijdert cookie)

De beepass-admin-token cookie is een HMAC-ondertekende JWT (HS256), HttpOnly, Secure, SameSite=Strict, met een vervaltijd van 8 uur.

Dubbele sessie

U kunt tegelijkertijd ingelogd zijn als fokker (Supabase-cookie) en als beheerder (HMAC-cookie). Beide sessies zijn onafhankelijk.

Audit

MethodeRouteBeschrijving
POST/api/auth/auditEen auditgebeurtenis registreren
GET/api/auth/auditAuditgebeurtenisgeschiedenis

Auditgebeurtenissen volgen inlogpogingen, uitloggen, sessie-intrekkingen en gevoelige acties.

Account verwijderen

MethodeRouteBeschrijving
DELETE/api/auth/delete-accountAccount verwijderen (MFA-verificatie vereist)

Zie ook: Overzicht | Koninginnen | Evaluaties