2.4 KiB
2.4 KiB
Les 10: Supabase Auth & Row Level Security — Verdieping
✅ Deze les is volledig uitgewerkt
Lesmateriaal
Deel
Deel 2 — Technical Foundations (Les 4-10)
Beschrijving
Vervolg op Les 9: we bouwen de complete auth-flow uit met sessie-management, beschermde routes en gedegen RLS-policies. De QuickPoll-app krijgt een professioneel niveau van autorisatie en is daarmee klaar voor de AI-lessen.
Te Behandelen
Theorie
- Drie auth-methodes in Supabase (e-mail/password, magic link, OAuth)
- Hoe sessies werken (JWT, refresh tokens, cookies)
- Server- vs. client-componenten in Next.js voor auth
- Row Level Security in detail:
usingvs.with check,auth.uid() - Beschermde routes via middleware vs. server components
Hands-on
- Supabase Auth provider configureren in dashboard
- Login + registratie pagina's met error handling
- Sessie ophalen in server components
- Drie RLS-policies: read-eigen, insert-eigen, update-eigen
- Test scenario: hoe weet je dat RLS écht werkt?
Tools
- Supabase (Auth + RLS)
- Next.js 16 App Router
@supabase/ssr+@supabase/supabase-js- TypeScript + Tailwind CSS
Lesopdracht (in-class, 60 min)
Uitbreiding van de QuickPoll-app:
- Authenticatie volledig werkend (signup, login, logout, sessie)
- Beschermde
/createen/my-pollsroutes - RLS-policies geactiveerd op
pollsenoptions - "My Polls" pagina toont alleen polls van ingelogde gebruiker
Inleveren: GitHub repo + screen-recording van werkende auth-flow.
Huiswerk (take-home)
- Voeg "Edit poll" toe die alleen werkt voor eigenaar (RLS-check)
- Voeg "Delete poll" toe met confirm-dialog
- Test wat er gebeurt als je de RLS-policy uitzet (security demo)
- Reflectie van 500 woorden: waarom is RLS beter dan auth-checks in code?
Inleveren: Via Teams/Brightspace.
Leerdoelen
Na deze les kan de student:
- Een complete auth-flow opzetten in Next.js + Supabase
- Sessies veilig beheren via cookies + middleware
- Effectieve RLS-policies schrijven met
auth.uid() - Verschil uitleggen tussen auth in code vs. auth in database
- Een poll-app maken die multi-user-veilig is