Autenticazione Supabase con supabase-js v2

Guida a Supabase Auth

Autenticazione Supabase: email, magic link, OAuth, RLS | We.Inc

Codice supabase-js v2 funzionante per email e password, magic link, accesso OAuth, listener di sessione e logout, più policy di row level security che usano auth.uid().

Supabase Auth fa accedere le persone con email e password, magic link monouso, codici via telefono o provider OAuth come GitHub, tutto tramite l'oggetto supabase.auth di supabase-js. Ogni accesso produce una sessione il cui token arriva al tuo database, dove le policy di row level security confrontano auth.uid() con una colonna user_id per decidere cosa può leggere quella persona.

Metodi di accesso e la chiamata per ciascuno

L'autenticazione è la parte di un progetto Supabase che più spesso viene collegata male: l'accesso funziona, ma i dati sono completamente esposti oppure il server si fida di un cookie di cui non dovrebbe. Scegli un metodo qui sotto per ottenerne il codice, poi segui la sezione sulle policy così ogni persona vede solo le proprie righe.

Domande frequenti

Il magic link di Supabase è la stessa cosa dell'OTP?

Entrambi partono da signInWithOtp. Per l'email, il messaggio contiene un link quando il template usa l'URL di conferma e un codice quando usa il token. L'accesso via telefono supporta solo codici, via SMS o WhatsApp.

Come aggiungo l'accesso con Google o GitHub?

Attiva il provider nella dashboard con il client ID e il secret forniti da quel provider, poi chiama signInWithOAuth con il suo nome e un indirizzo redirectTo facoltativo. La persona torna sul tuo sito già autenticata.

Come so quando un utente accede o esce?

Registra onAuthStateChange. Segnala eventi tra cui INITIAL_SESSION, SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED e PASSWORD_RECOVERY, e restituisce una subscription da cui annullare l'iscrizione quando il componente viene smontato.

Perché gli utenti autenticati non vedono nulla dopo che ho attivato la RLS?

Una volta attivata la row level security, una tabella nega tutto finché una policy non lo consente. Aggiungi una policy di select per il ruolo authenticated che confronti (select auth.uid()) con la colonna del proprietario.

Meglio Supabase Auth o Firebase Auth?

Entrambi coprono i metodi più comuni. La differenza più grande è il database sottostante; il nostro confronto Supabase vs Firebase analizza questa scelta nel dettaglio.

Sessioni e token

La row level security è la vera serratura

Policy che usano auth.uid()

Ogni persona legge e scrive solo le proprie note

Eseguilo nell'editor SQL. Il valore predefinito compila user_id dal token, e with check impedisce a chiunque di inserire righe per un altro utente.

Email e password

Crea l'account, poi accedi. Con la conferma attiva, data.session è null finché il link nell'email non viene cliccato.

Magic link

Invia un'email il cui link fa accedere la persona e la porta all'indirizzo di reindirizzamento.

OAuth (GitHub)

Reindirizza al provider e ritorno. Prima attiva il provider e imposta le sue chiavi nella dashboard.

Listener di sessione e logout

Mantiene l'interfaccia allineata alla sessione e rimuove il listener quando hai finito.

Codice per ogni metodo di accesso

Scegli un metodo di accesso

Inizia gratis · Nessuna carta di credito richiesta

Correlati: Guide

Prodotto

Per chi è

Funzionalità

Risorse

Azienda

Mappa del sito