ArchitectureADRs
ADR-019: Authentication
Status: Accepted
Kontext
Restaurant-Mitarbeiter und ByteBite-Admins benötigen Authentifizierung; Endkunden können wahlweise Gast oder Account-Nutzer sein.
Entscheidung
Better Auth wird verwendet.
MVP:
- E-Mail + Passwort
- Rollen:
RESTAURANT,ADMIN - keine verpflichtende 2FA
- Guest Checkout für Endkunden bleibt möglich
Konsequenzen
- Kein eigenes Auth-System entwickeln.
- Rollenmodell bleibt zunächst bewusst grob.
- Granularere Restaurant-Rollen können später ergänzt werden.
Staff login is Better Auth email + password, roles RESTAURANT / ADMIN, session userId + role. Every /dashboard/* API route and the dashboard SPA require that session. See Staff authentication. The path cutover to session.restaurantId is not this wiring (ADR-021). Staging Traefik BasicAuth is not a substitute for the session gate.