Files
novi-lessons/Samenvattingen/Les10-Samenvatting.md
2026-06-07 15:15:11 +02:00

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: using vs. 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 /create en /my-polls routes
  • RLS-policies geactiveerd op polls en options
  • "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