Logo Aurabase
aurabasedocuments
documents›JavaScript SDK reference›Auth reference

SDK JavaScript : référence d'authentification

Chaque méthode d'authentification et d'administration des utilisateurs, avec sa signature.

6 min de lecture·Niveau référence·Révisé le 12 oct. 2026
Ce texte anglais a été généré automatiquement à partir de l’original français et n’a pas encore été relu.
Cette page a été traduite automatiquement. La version anglaise fait foi.
#
Fonctions

Fonctions exportées

FonctionDescriptif
function isMfaChallenge(v: unknown): v is MfaChallengeGarde de type discriminant LoginResponse = TokenPair | MfaChallenge.
#
Classe

Service d'authentification

MéthodeDescriptif
dispose(): voidDémantèle le cycle de vie proactif : ticker, visibilité, BroadcastChannel, auditeurs.
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; }Écoute les changements d'état de session (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…).
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>Créez un compte avec email et mot de passe.
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>Connecte un utilisateur par e-mail et mot de passe.
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>>Démarre un flux OAuth : renvoie toujours { url } (et redirige en outre le navigateur si un window existe).
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>>Envoie un lien de connexion par email (« lien magique »).
signInAnonymously(): Promise<AuraResponse<TokenPair>>Crée une session anonyme (utilisateur sans email), enregistrée et rapportée par SIGNED_IN.
signOut(): Promise<AuraResponse<null>>Déconnexion : révoque le jeton d'actualisation côté serveur s'il existe, vide la session locale et émet SIGNED_OUT.
refreshSession(): Promise<AuraResponse<TokenPair>>Actualise la session avec le jeton d'actualisation et émet TOKEN_REFRESHED.
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }>Session en cours lue depuis le store (synchrone en pratique, pas d'appel réseau).
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>Installe une session à partir d'un jeton d'accès et d'un jeton d'actualisation existants (par exemple reçus d'un serveur).
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>>Échange le code d'autorisation PKCE pour une session.
listSessions(): Promise<AuraResponse<SessionInfo[]>>Répertorie les sessions des utilisateurs connectés (appareil, adresse IP, dates) ; is_current localise la session en cours.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Révoque une session de l'utilisateur connecté par son identifiant.
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>>Déconnecte l'utilisateur partout : révoque toutes ses sessions, vide la session locale et émet SIGNED_OUT.
getUser(jwt?: string): Promise<AuraResponse<User>>Récupère l’utilisateur validé côté serveur.
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>>Vérifie et décode les réclamations d'un JWT.
deleteUser(password: string): Promise<AuraResponse<null>>Supprime le compte de l'utilisateur connecté après confirmation de son mot de passe, puis efface la session locale.
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>Met à jour l’utilisateur connecté (métadonnées, mot de passe, etc.) et émet USER_UPDATED.
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>>Envoie un e-mail de réinitialisation du mot de passe.
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>Modifie le mot de passe de l'utilisateur connecté.
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>MFA: démarre l'inscription TOTP et renvoie le secret et l'URL otpauth_url à afficher sous forme de code QR.
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: confirme l'inscription avec un premier code et renvoie les codes de récupération.
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>MFA: termine une connexion qui a renvoyé un challenge (mfa_token et code TOTP).
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>>MFA: désactive MFA après confirmation avec le mot de passe.
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>
verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>
Point d'entrée UNIQUE de vérification OTP (parité verifyOtp de @supabase/auth-js).
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>>Renvoie l'e-mail de vérification à email ou à l'adresse de l'utilisateur connecté.
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>>Envoie un code à usage unique par email ; à confirmer par verifyOtp({ type: 'email' }).
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>>Envoie un code à usage unique par SMS ; à confirmer par verifyOtp({ type: 'sms' }).
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>Répertorie les identités (fournisseurs) liées à l'utilisateur connecté.
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>>Commence à lier un fournisseur OAuth au compte connecté et renvoie l'URL d'autorisation à ouvrir.
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>>Détache une identité du compte connecté par son identifiant.
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: régénère les codes de récupération après confirmation par un code TOTP.
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>>Échange un identifiant de jeton de fournisseur (Google/Apple, mobile natif) pour une session.
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>>Parité GoTrue : GET /settings – configuration de projet publique (aucune authentification requise).
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>>Clé publiable (clé anonyme) du projet — GET /anon-key (publique, comme le modèle Supabase).
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>Consomme le jeton de récupération de mot de passe et applique le nouveau mot de passe.
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>>Convertit l'utilisateur anonyme actuel (JWT requis) en un compte de messagerie + mot de passe standard.
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>Consomme le jeton de lien magique et renvoie un TokenPair.
#
Classe

AuthAdminService

MéthodeDescriptif
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>>Répertorie les utilisateurs du projet, avec recherche (search) et pagination (limit, offset).
getUser(userId: string): Promise<AuraResponse<AdminUser>>Lit un utilisateur par son identifiant.
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>Crée un utilisateur sans passer par une inscription publique (email, mot de passe, métadonnées, rôle).
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>Met à jour un utilisateur : seuls les champs fournis changent.
deleteUser(userId: string): Promise<AuraResponse<null>>Supprimer un utilisateur.
banUser(userId: string): Promise<AuraResponse<null>>Bannit un utilisateur : il ne peut plus se connecter.
unbanUser(userId: string): Promise<AuraResponse<null>>Lever l'interdiction d'un utilisateur.
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>Génère un lien unique pour un utilisateur ('magic', 'recovery' ou 'invite') et renvoie { link, token }.
getUserStats(): Promise<AuraResponse<UserStats>>Statistiques utilisateurs : totales, vérifiées, bannies, avec MFA et nouvelles sur 7 jours.
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>Répertorie les identités liées à un utilisateur (fournisseurs OAuth, email).
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>>Répertorie les sessions actives de tous les utilisateurs, filtrables par userId, avec pagination.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Révoque une session par son identifiant.
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>>Lit le journal d'audit (action, adresse IP, agent utilisateur, date), filtrable par userId, avec pagination.
getSettings(): Promise<AuraResponse<AuthSettings>>Lit les paramètres d'authentification du projet.
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>Met à jour les paramètres d'authentification du projet (fusion partielle : seuls les champs fournis sont écrits, COALESCE côté backend).
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>Répertorie les modèles d'e-mails d'authentification de projet.
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>Lit le modèle d'e-mail d'un type donné (par exemple, confirmation, récupération).
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>Remplace le contenu du modèle d'e-mail d'un type donné.
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>>Supprime le modèle personnalisé d'un type d'e-mail.
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>>Envoie un email de test avec un modèle de type à l'adresse to_email.
Page générée

Cette page est générée à partir des déclarations de type et des commentaires du SDK, elle ne peut donc pas dériver du code publié. Pour des exemples concrets, lisez les guides.

Dernière mise à jour · 12 oct. 2026