Logo Aurabase
aurabasedocumenti
documenti›JavaScript SDK reference›Auth reference

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

FunzioneDescrizione
function isMfaChallenge(v: unknown): v is MfaChallengeProtezione di tipo discriminante LoginResponse = TokenPair | MfaChallenge.
#
Classe

AuthService

MetodoDescrizione
dispose(): voidSmantella 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

MetodoDescrizione
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