Kas yra Supabase Auth
Supabase Auth – tai paruošta vartotojų sistema: registracija el. paštu, prisijungimas, slaptažodžio atstatymas ir socialiniai prisijungimai (pvz., Google). Tau nereikia patiems kurti slaptažodžių saugojimo ar sesijų logikos.
Kiekvienas vartotojas gauna unikalų ID. Tą patį ID naudoji savo lentelėse (pvz., „profiles“), kad susietum duomenis su žmogumi.
Sesijos Next.js App Router'yje
Naršyklėje sesija laikoma slapukuose (cookies). Serveryje skaitai tą patį slapuką, kad žinotum, kas yra prisijungęs. AIPamokos.lt tam naudoja serverio klientą, kuris gauna vartotoją iš slapukų ir tada užklausia jo profilį.
- Naršyklės klientas – realaus laiko UI ir prisijungimo veiksmams.
- Serverio klientas – saugioms užklausoms ir puslapių apsaugai.
- Middleware – atnaujina sesijos slapuką ir apsaugo privačius maršrutus.
Tipinis flow
- 1. Vartotojas užsiregistruoja → Supabase sukuria įrašą auth.users lentelėje.
- 2. Triggeris automatiškai sukuria eilutę tavo „profiles“ lentelėje su rolę ir vardu.
- 3. Prisijungus serveris perskaito sesiją ir parodo tinkamą dashboardą pagal rolę.
Ką lengva pamiršti
- El. pašto patvirtinimas: kol vartotojas nepatvirtina, sesijos gali nebūti.
- Profilis turi būti sukurtas (per triggerį arba kode), kitaip rolės tikrinimas nepavyks.
- Niekada nelaikyk „service role“ rakto naršyklėje – tik serveryje.
Oficiali dokumentacija