Authentication
Cookie-Sessions
POST /auth/login mit email/password → cookie ms_session=ses_*. TTL 30 Tage (sliding bei jedem Request).
OAuth
POST /auth/oauth/:provider/callback — GitHub / Google / Apple. Konfiguration über env vars (siehe dev-setup.md).
Magic Link
POST /auth/magic-link/request mit einer E-Mail → der Link kommt per E-Mail (oder wird im console-mailer mode auf API-stdout gedruckt).
2FA-Flow
Nach dem Login mit aktivierter 2FA gibt der Server 200 mit requires_2fa: true und einem twofa_pending_login token zurück. Dann POST /auth/2fa/verify mit diesem Token + dem 6-stelligen Code → cookie session.