Dokumentace
Centrum nápovědyBezpečnostAutentizační model
docs/cs/04-security/auth-model.md
Autentizační model (Supabase)
OPORA používá Supabase Auth pro autentizaci. Tento dokument definuje bezpečnostní posture a invarianty pro práci se session.
Cíle
- Poskytnout bezpečný, standardní autentizační mechanismus vhodný pro B2B SaaS.
- Udržet autentizační témata mimo doménovou vrstvu.
- Zajistit konzistentní vynucení session napříč
/app/*.
Model identity
- Uživatelská identita je spravována Supabase Auth.
- Uživatel může patřit do více organizací.
- Přístup do aplikace se vyhodnocuje v aktivním kontextu organizace.
Vynucení session (invarianty)
- Všechny routy pod
/app/* vyžadují validní session. - Auth routy (
/sign-in,/sign-up, reset hesla,/post-auth) jsou dostupné bez session. - Session se validují server-side před provedením jakékoli tenant-scoped akce.
Ověření e-mailu a potvrzení
- Registrace spouští email confirmation flow.
- Confirmation callback (
/api/auth/confirm) naváže session a redirectuje na/post-auth. - Produktová routing rozhodnutí probíhají pouze v
/post-auth.
Reset hesla
/forgot-passwordzahajuje reset flow./reset-passworddokončí reset a vrátí uživatele do/post-authnebo/sign-in.
Bezpečnostní aspekty
- Chránit proti session fixation a token leakage: cookies musí být secure a server-controlled.
- Neukládat secrets do prostředí dostupného klientovi.
- Tam, kde to dává smysl, rate-limitovat citlivé auth endpointy.
Audit a monitoring
- Trackovat klíčové auth eventy (sign-in, sign-up, reset hesla) s minimem PII.
- Postupně přidat alerty na podezřelé vzory (neúspěšné pokusy, neobvyklé lokace).