SDK JavaScript: riferimento di autenticazione
Ogni metodo di autenticazione e amministrazione degli utenti, con relativa firma.
6 min letto·Livello riferimento·Revisionato il 12 ott 2026
Questo testo inglese è stato generato automaticamente dall'originale francese e non è stato ancora rivisto.
Questa pagina è stata tradotta automaticamente. Fa fede la versione inglese.
#
Funzioni
Funzioni esportate
| Funzione | Descrizione |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | Protezione di tipo discriminante LoginResponse = TokenPair | MfaChallenge. |
#
Classe
AuthService
| Metodo | Descrizione |
|---|---|
dispose(): void | Smantella il ciclo di vita proattivo: ticker, visibilità, BroadcastChannel, ascoltatori. |
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; } | Resta in ascolto delle modifiche allo stato della sessione (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…). |
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>> | Crea un account con email e password. |
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>> | Accede a un utente tramite e-mail e password. |
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>> | Avvia un flusso OAuth: restituisce sempre { url } (e inoltre reindirizza il browser se esiste un window). |
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>> | Invia un collegamento di connessione tramite e-mail ("collegamento magico"). |
signInAnonymously(): Promise<AuraResponse<TokenPair>> | Crea una sessione anonima (utente senza email), registrata e segnalata da SIGNED_IN. |
signOut(): Promise<AuraResponse<null>> | Disconnect: revoca il token di aggiornamento lato server, se esistente, scarica la sessione locale ed emette SIGNED_OUT. |
refreshSession(): Promise<AuraResponse<TokenPair>> | Aggiorna la sessione con il token di aggiornamento ed emette TOKEN_REFRESHED. |
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }> | Sessione corrente letta dallo store (in pratica sincrona, nessuna chiamata di rete). |
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>> | Installa una sessione da un token di accesso esistente e un token di aggiornamento (ad esempio ricevuto da un server). |
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>> | Scambia il codice di autorizzazione PKCE per una sessione. |
listSessions(): Promise<AuraResponse<SessionInfo[]>> | Elenca le sessioni dell'utente loggato (dispositivo, indirizzo IP, date); is_current individua la sessione corrente. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Revoca una sessione dell'utente connesso tramite il suo identificatore. |
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>> | Disconnette l'utente ovunque: revoca tutte le sue sessioni, svuota la sessione locale ed emette SIGNED_OUT. |
getUser(jwt?: string): Promise<AuraResponse<User>> | Recupera l'utente convalidato sul lato server. |
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>> | Verifica e decodifica le affermazioni di un JWT. |
deleteUser(password: string): Promise<AuraResponse<null>> | Elimina l'account dell'utente connesso dopo la conferma con la password, quindi cancella la sessione locale. |
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>> | Aggiorna l'utente che ha effettuato l'accesso (metadati, password, ecc.) e rilascia USER_UPDATED. |
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>> | Invia un'e-mail di reimpostazione della password. |
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>> | Modifica la password dell'utente registrato. |
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>> | MFA: avvia la registrazione TOTP e restituisce secret e l'URL otpauth_url da visualizzare come codice QR. |
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: conferma l'iscrizione con un primo codice e restituisce i codici di ripristino. |
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>> | MFA: termina una connessione che ha restituito una sfida (mfa_token e codice TOTP). |
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>> | MFA: disattiva MFA dopo la conferma con la password. |
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>> | UNICO punto di ingresso della verifica OTP (parità verifyOtp di @supabase/auth-js). |
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>> | Invia nuovamente l'e-mail di verifica a email o all'indirizzo dell'utente che ha effettuato l'accesso. |
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>> | Invia un codice monouso tramite e-mail; da confermare entro verifyOtp({ type: 'email' }). |
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>> | Invia un codice monouso tramite SMS; da confermare entro verifyOtp({ type: 'sms' }). |
listIdentities(): Promise<AuraResponse<IdentityInfo[]>> | Elenca le identità (provider) collegate all'utente che ha effettuato l'accesso. |
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>> | Inizia ad associare un provider OAuth all'account connesso e restituisce l'URL di autorizzazione per l'apertura. |
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>> | Scollega un'identità dall'account collegato tramite il suo identificatore. |
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: rigenera i codici di ripristino dopo la conferma con un codice TOTP. |
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>> | Scambia un ID token del provider (Google/Apple, mobile nativo) per una sessione. |
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>> | Parità GoTrue: GET /settings: configurazione del progetto pubblico (nessuna autenticazione richiesta). |
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>> | Chiave pubblicabile (anon key) del progetto: GET /anon-key (pubblica, come il modello Supabase). |
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>> | Consuma il token di ripristino della password e applica la nuova password. |
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>> | Converte l'utente anonimo corrente (JWT richiesto) in un normale account e-mail+password. |
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>> | Consuma il token del collegamento magico e restituisce un TokenPair. |
#
Classe
AuthAdminService
| Metodo | Descrizione |
|---|---|
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>> | Elenca gli utenti del progetto, con ricerca (search) e impaginazione (limit, offset). |
getUser(userId: string): Promise<AuraResponse<AdminUser>> | Legge un utente in base al suo ID. |
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>> | Crea un utente senza passare attraverso la registrazione pubblica (email, password, metadati, ruolo). |
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>> | Aggiorna un utente: cambiano solo i campi forniti. |
deleteUser(userId: string): Promise<AuraResponse<null>> | Elimina un utente. |
banUser(userId: string): Promise<AuraResponse<null>> | Banna un utente: non potrà più accedere. |
unbanUser(userId: string): Promise<AuraResponse<null>> | Rimuovere il ban di un utente. |
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>> | Genera un collegamento singolo per un utente ('magic', 'recovery' o 'invite') e restituisce { link, token }. |
getUserStats(): Promise<AuraResponse<UserStats>> | Statistiche utente: totale, verificato, bannato, con MFA e nuovi in 7 giorni. |
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>> | Elenca le identità collegate a un utente (provider OAuth, email). |
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>> | Elenca le sessioni attive di tutti gli utenti, filtrabili per userId, con impaginazione. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Revoca una sessione tramite il suo identificatore. |
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>> | Legge il log di controllo (azione, indirizzo IP, agente utente, data), filtrabile per userId, con paging. |
getSettings(): Promise<AuraResponse<AuthSettings>> | Legge le impostazioni di autenticazione del progetto. |
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>> | Aggiorna le impostazioni di autenticazione del progetto (unione parziale: vengono scritti solo i campi forniti, COALESCE sul lato backend). |
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>> | Elenca i modelli di email di autenticazione del progetto. |
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>> | Legge il modello email di un determinato tipo (es. conferma, recupero). |
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>> | Sostituisce il contenuto del modello di posta elettronica di un determinato tipo. |
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>> | Rimuove il modello personalizzato da un tipo di email. |
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>> | Invia un'e-mail di prova con un modello di tipo all'indirizzo to_email. |
Pagina generata
Questa pagina viene generata dalle dichiarazioni di tipo e dai commenti dell'SDK, quindi non può derivare dal codice pubblicato. Per esempi pratici, leggi le guide.
Ultimo aggiornamento · 12 ott 2026