JavaScript SDK: Authentifizierungsreferenz
Jede Authentifizierungs- und Benutzerverwaltungsmethode mit ihrer Signatur.
6 Min. gelesen·Ebene Referenz·Überarbeitet am 12.10.2026
Dieser englische Text wurde automatisch aus dem französischen Original generiert und wurde noch nicht überprüft.
Diese Seite wurde automatisch übersetzt. Maßgeblich ist die englische Version.
#
Funktionen
Exportierte Funktionen
| Funktion | Beschreibung |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | Diskriminanztypschutz LoginResponse = TokenPair | MfaChallenge. |
#
Klasse
AuthService
| Methode | Beschreibung |
|---|---|
dispose(): void | Zerlegt den proaktiven Lebenszyklus: Ticker, Sichtbarkeit, BroadcastChannel, Hörer. |
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; } | Hört auf Sitzungsstatusänderungen (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…). |
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>> | Erstellen Sie ein Konto mit E-Mail und Passwort. |
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>> | Meldet einen Benutzer per E-Mail und Passwort an. |
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>> | Startet einen OAuth-Fluss: Gibt immer { url } zurück (und leitet zusätzlich den Browser um, wenn ein window vorhanden ist). |
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>> | Versendet einen Verbindungslink per E-Mail („magischer Link“). |
signInAnonymously(): Promise<AuraResponse<TokenPair>> | Erstellt eine anonyme Sitzung (Benutzer ohne E-Mail), die von SIGNED_IN aufgezeichnet und gemeldet wird. |
signOut(): Promise<AuraResponse<null>> | Trennen: widerruft das serverseitige Aktualisierungstoken, falls vorhanden, leert die lokale Sitzung und gibt SIGNED_OUT aus. |
refreshSession(): Promise<AuraResponse<TokenPair>> | Aktualisiert die Sitzung mit dem Aktualisierungstoken und gibt TOKEN_REFRESHED aus. |
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }> | Aktuelle Sitzung aus dem Store gelesen (in der Praxis synchron, kein Netzwerkaufruf). |
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>> | Installiert eine Sitzung von einem vorhandenen Zugriffstoken und Aktualisierungstoken (z. B. von einem Server empfangen). |
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>> | Tauscht den PKCE-Autorisierungscode für eine Sitzung aus. |
listSessions(): Promise<AuraResponse<SessionInfo[]>> | Listet die Sitzungen des angemeldeten Benutzers auf (Gerät, IP-Adresse, Daten); is_current findet die aktuelle Sitzung. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Widerruft eine Sitzung des Benutzers, der über seine Kennung verbunden ist. |
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>> | Meldet den Benutzer überall ab: widerruft alle seine Sitzungen, leert die lokale Sitzung und gibt SIGNED_OUT aus. |
getUser(jwt?: string): Promise<AuraResponse<User>> | Ruft den validierten Benutzer auf der Serverseite ab. |
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>> | Überprüft und dekodiert die Ansprüche eines JWT. |
deleteUser(password: string): Promise<AuraResponse<null>> | Löscht das Konto des verbundenen Benutzers nach Bestätigung mit seinem Passwort und löscht dann die lokale Sitzung. |
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>> | Aktualisiert den angemeldeten Benutzer (Metadaten, Passwort usw.) und gibt USER_UPDATED aus. |
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>> | Sendet eine E-Mail zum Zurücksetzen des Passworts. |
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>> | Ändert das Passwort des angemeldeten Benutzers. |
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>> | MFA: startet die TOTP-Registrierung und gibt secret und die URL otpauth_url zurück, um sie als QR-Code anzuzeigen. |
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: Bestätigt die Registrierung mit einem ersten Code und gibt die Wiederherstellungscodes zurück. |
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>> | MFA: beendet eine Verbindung, die eine Herausforderung zurückgegeben hat (mfa_token und TOTP-Code). |
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>> | MFA: deaktiviert MFA nach Bestätigung mit dem Passwort. |
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>> | EINZIGER Einstiegspunkt der OTP-Verifizierung (Parität verifyOtp von @supabase/auth-js). |
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>> | Sendet die Bestätigungs-E-Mail erneut an email oder an die Adresse des angemeldeten Benutzers. |
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>> | Sendet einen Einmalcode per E-Mail; muss von verifyOtp({ type: 'email' }) bestätigt werden. |
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>> | Sendet einen Einmalcode per SMS; muss von verifyOtp({ type: 'sms' }) bestätigt werden. |
listIdentities(): Promise<AuraResponse<IdentityInfo[]>> | Listet die Identitäten (Anbieter) auf, die mit dem angemeldeten Benutzer verknüpft sind. |
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>> | Beginnt mit der Bindung eines Anbieters OAuth an das verbundene Konto und gibt die Autorisierungs-URL zum Öffnen zurück. |
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>> | Trennt eine Identität von dem Konto, das durch seine Kennung verbunden ist. |
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: generiert die Wiederherstellungscodes nach Bestätigung mit einem TOTP-Code neu. |
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>> | Tauscht eine Anbieter-Token-ID (Google/Apple, natives Mobilgerät) für eine Sitzung aus. |
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>> | GoTrue-Parität: GET /settings – öffentliche Projektkonfiguration (keine Authentifizierung erforderlich). |
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>> | Veröffentlichbarer Schlüssel (anon-Schlüssel) des Projekts – GET /anon-key (öffentlich, wie das Supabase-Modell). |
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>> | Verbraucht das Passwort-Wiederherstellungstoken und wendet das neue Passwort an. |
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>> | Konvertiert den aktuellen anonymen Benutzer (JWT erforderlich) in ein normales E-Mail-+Passwort-Konto. |
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>> | Verbraucht das Magic-Link-Token und gibt ein TokenPair zurück. |
#
Klasse
AuthAdminService
| Methode | Beschreibung |
|---|---|
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>> | Listet Projektbenutzer mit Suche (search) und Paginierung (limit, offset) auf. |
getUser(userId: string): Promise<AuraResponse<AdminUser>> | Liest einen Benutzer anhand seiner ID. |
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>> | Erstellt einen Benutzer, ohne eine öffentliche Registrierung durchzuführen (E-Mail, Passwort, Metadaten, Rolle). |
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>> | Aktualisiert einen Benutzer: Nur die bereitgestellten Felder ändern sich. |
deleteUser(userId: string): Promise<AuraResponse<null>> | Einen Benutzer löschen. |
banUser(userId: string): Promise<AuraResponse<null>> | Sperrt einen Benutzer: Er kann sich nicht mehr anmelden. |
unbanUser(userId: string): Promise<AuraResponse<null>> | Heben Sie die Sperre eines Benutzers auf. |
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>> | Erzeugt einen einmaligen Link für einen Benutzer ('magic', 'recovery' oder 'invite') und gibt { link, token } zurück. |
getUserStats(): Promise<AuraResponse<UserStats>> | Benutzerstatistiken: insgesamt, verifiziert, gesperrt, mit MFA und neu über 7 Tage. |
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>> | Listet Identitäten auf, die mit einem Benutzer verknüpft sind (OAuth Anbieter, E-Mail). |
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>> | Listet aktive Sitzungen aller Benutzer auf, filterbar nach userId, mit Paginierung. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Widerruft eine Sitzung anhand ihrer Kennung. |
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>> | Liest das Audit-Protokoll (Aktion, IP-Adresse, Benutzeragent, Datum), filterbar nach userId, mit Paging. |
getSettings(): Promise<AuraResponse<AuthSettings>> | Liest die Authentifizierungseinstellungen des Projekts. |
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>> | Aktualisiert die Authentifizierungseinstellungen des Projekts (teilweise Zusammenführung: nur die bereitgestellten Felder werden geschrieben, COALESCE auf der Backend-Seite). |
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>> | Listet E-Mail-Vorlagen für die Projektauthentifizierung auf. |
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>> | Liest die E-Mail-Vorlage eines bestimmten Typs (z. B. Bestätigung, Wiederherstellung). |
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>> | Ersetzt den Inhalt einer E-Mail-Vorlage eines bestimmten Typs. |
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>> | Entfernt die benutzerdefinierte Vorlage aus einem E-Mail-Typ. |
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>> | Sendet eine Test-E-Mail mit der Vorlage eines Typs an die Adresse to_email. |
Generierte Seite
Diese Seite wird aus den Typdeklarationen und Kommentaren des SDK generiert, sodass sie nicht vom veröffentlichten Code abweichen kann. Ausgearbeitete Beispiele finden Sie in den Leitfäden.
Zuletzt aktualisiert · 12.10.2026