Aurabase-Logo
AurabasisDokumente
Dokumente›JavaScript SDK reference›Auth reference

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

FunktionBeschreibung
function isMfaChallenge(v: unknown): v is MfaChallengeDiskriminanztypschutz LoginResponse = TokenPair | MfaChallenge.
#
Klasse

AuthService

MethodeBeschreibung
dispose(): voidZerlegt 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

MethodeBeschreibung
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