Supabase-authenticatie met supabase-js v2

Gids voor Supabase Auth

Supabase-authenticatie: e-mail, magic link, OAuth, RLS | We.Inc

Werkende supabase-js v2-code voor e-mail en wachtwoord, magic links, inloggen met OAuth, session listeners en uitloggen, plus row level security-policies die auth.uid() gebruiken.

Supabase Auth laat mensen inloggen met e-mail en wachtwoord, eenmalige magic links, telefooncodes of OAuth-providers zoals GitHub, allemaal via het object supabase.auth in supabase-js. Elke login levert een sessie op waarvan het token uw database bereikt, waar row level security-policies auth.uid() vergelijken met een user_id-kolom om te bepalen wat die persoon mag lezen.

Inlogmethoden en de aanroep voor elk

Auth is het deel van een Supabase-project dat mensen het vaakst verkeerd aansluiten: het inloggen werkt, maar de data staat wagenwijd open of de server vertrouwt een cookie die hij niet zou moeten vertrouwen. Kies hieronder een methode om de code te krijgen en volg daarna de sectie over policies, zodat iedereen alleen zijn eigen rijen ziet.

Veelgestelde vragen

Is een magic link van Supabase hetzelfde als OTP?

Beide beginnen bij signInWithOtp. Bij e-mail bevat het bericht een link als de template de bevestigings-URL gebruikt, en een code als hij het token gebruikt. Inloggen met de telefoon ondersteunt alleen codes, via sms of WhatsApp.

Hoe voeg ik inloggen met Google of GitHub toe?

Schakel de provider in het dashboard in met de client ID en het secret van die provider, en roep dan signInWithOAuth aan met de naam en optioneel een redirectTo-adres. De persoon keert al ingelogd terug naar uw site.

Hoe weet ik wanneer een gebruiker in- of uitlogt?

Registreer onAuthStateChange. Die meldt events zoals INITIAL_SESSION, SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED en PASSWORD_RECOVERY, en retourneert een subscription die u opzegt als de component unmount.

Waarom zien ingelogde gebruikers niets meer nadat ik RLS heb ingeschakeld?

Zodra row level security aanstaat, weigert een tabel alles tot een policy het toestaat. Voeg een select-policy toe voor de rol authenticated die (select auth.uid()) vergelijkt met de eigenaarskolom.

Moet ik Supabase Auth of Firebase Auth gebruiken?

Beide dekken de gangbare methoden. Het grotere verschil is de database eronder; onze vergelijking van Supabase en Firebase behandelt die keuze in detail.

Sessies en tokens

Row level security is het echte slot

Policies die auth.uid() gebruiken

Iedereen leest en schrijft alleen zijn eigen notities

Uitvoeren in de SQL-editor. De standaardwaarde vult user_id vanuit het token, en with check voorkomt dat iemand rijen invoegt voor een andere gebruiker.

E-mail en wachtwoord

Maak het account aan en log dan in. Met bevestiging aan is data.session null tot op de link in de e-mail is geklikt.

Magic link

Verstuurt een e-mail waarvan de link de persoon inlogt en op het redirect-adres laat landen.

OAuth (GitHub)

Stuurt door naar de provider en weer terug. Schakel eerst de provider in en stel de keys in het dashboard in.

Session listener en uitloggen

Houdt de interface in lijn met de sessie en ruimt de listener op als u klaar bent.

Code voor elke inlogmethode

Kies een inlogmethode

Gratis beginnen · Geen creditcard nodig

Gerelateerd: Gidsen

Product

Voor wie

Functies

Bronnen

Bedrijf

Sitemap