Logo Aurabase
aurabazadokumenty
dokumenty›JavaScript SDK reference›Auth reference

JavaScript SDK: odniesienie do uwierzytelniania

Każda metoda uwierzytelniania i administrowania użytkownikami wraz z jej podpisem.

6 min przeczytane·Poziom odniesienie·Zmieniono 12 paź 2026
Ten tekst w języku angielskim został wygenerowany automatycznie na podstawie francuskiego oryginału i nie był jeszcze recenzowany.
Ta strona została przetłumaczona automatycznie. Wersja angielska jest miarodajna.
#
Funkcje

Eksportowane funkcje

FunkcjonowaćOpis
function isMfaChallenge(v: unknown): v is MfaChallengeOsłona typu dyskryminacyjnego LoginResponse = TokenPair | MfaChallenge.
#
Klasa

Usługa autoryzacji

MetodaOpis
dispose(): voidDemontuje proaktywny cykl życia: ticker, widoczność, BroadcastChannel, słuchacze.
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; }Nasłuchuje zmian stanu sesji (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…).
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>Utwórz konto z adresem e-mail i hasłem.
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>Loguje użytkownika za pomocą adresu e-mail i hasła.
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>>Rozpoczyna przepływ OAuth: zawsze zwraca { url } (i dodatkowo przekierowuje przeglądarkę, jeśli istnieje window).
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>>Wysyła link do połączenia e-mailem („magiczny link”).
signInAnonymously(): Promise<AuraResponse<TokenPair>>Tworzy anonimową sesję (użytkownik bez adresu e-mail), rejestrowaną i raportowaną przez SIGNED_IN.
signOut(): Promise<AuraResponse<null>>Rozłącz: odwołuje token odświeżania po stronie serwera, jeśli istnieje, opróżnia sesję lokalną i wystawia SIGNED_OUT.
refreshSession(): Promise<AuraResponse<TokenPair>>Odświeża sesję za pomocą tokena odświeżania i wystawia TOKEN_REFRESHED.
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }>Bieżąca sesja odczytana ze sklepu (w praktyce synchroniczna, brak połączenia sieciowego).
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>Instaluje sesję z istniejącego tokena dostępu i tokena odświeżania (np. otrzymanego z serwera).
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>>Wymienia kod autoryzacyjny PKCE dla sesji.
listSessions(): Promise<AuraResponse<SessionInfo[]>>Wyświetla listę sesji zalogowanego użytkownika (urządzenie, adres IP, daty); is_current lokalizuje bieżącą sesję.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Odwołuje sesję użytkownika połączonego poprzez jego identyfikator.
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>>Wylogowuje użytkownika wszędzie: odwołuje wszystkie jego sesje, opróżnia sesję lokalną i wydaje SIGNED_OUT.
getUser(jwt?: string): Promise<AuraResponse<User>>Pobiera zweryfikowanego użytkownika po stronie serwera.
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>>Weryfikuje i dekoduje oświadczenia JWT.
deleteUser(password: string): Promise<AuraResponse<null>>Usuwa konto połączonego użytkownika po potwierdzeniu hasłem, a następnie czyści sesję lokalną.
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>Aktualizuje zalogowanego użytkownika (metadane, hasło itp.) i wystawia USER_UPDATED.
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>>Wysyła wiadomość e-mail dotyczącą resetowania hasła.
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>Zmienia hasło zalogowanego użytkownika.
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>MFA: rozpoczyna rejestrację TOTP i zwraca secret i adres URL otpauth_url do wyświetlenia jako kod QR.
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: potwierdza rejestrację pierwszym kodem i zwraca kody odzyskiwania.
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>MFA: kończy połączenie, które zwróciło wyzwanie (mfa_token i kod TOTP).
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>>MFA: dezaktywuje MFA po potwierdzeniu hasłem.
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>
verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>
POJEDYNCZY punkt wejścia weryfikacji OTP (parzystość verifyOtp z @supabase/auth-js).
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>>Ponownie wysyła e-mail weryfikacyjny na adres email lub na adres zalogowanego użytkownika.
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>>Wysyła jednorazowy kod e-mailem; do potwierdzenia przez verifyOtp({ type: 'email' }).
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>>Wysyła jednorazowy kod SMS-em; do potwierdzenia przez verifyOtp({ type: 'sms' }).
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>Wyświetla listę tożsamości (dostawców) powiązanych z zalogowanym użytkownikiem.
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>>Rozpoczyna wiązanie dostawcy OAuth z połączonym kontem i zwraca adres URL autoryzacji do otwarcia.
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>>Odłącza tożsamość od konta połączonego jej identyfikatorem.
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: ponownie generuje kody odzyskiwania po potwierdzeniu kodem TOTP.
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>>Wymienia identyfikator tokena dostawcy (Google/Apple, natywny telefon komórkowy) dla sesji.
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>>Parzystość GoTrue: GET /settings — publiczna konfiguracja projektu (nie wymaga uwierzytelnienia).
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>>Publikowalny klucz (ano klucz) projektu — GET /anon-key (publiczny, jak model Supabase).
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>Zużywa token odzyskiwania hasła i stosuje nowe hasło.
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>>Konwertuje bieżącego anonimowego użytkownika (wymagany JWT) na zwykłe konto e-mail + hasło.
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>Zużywa token magicznego łącza i zwraca TokenPair.
#
Klasa

Usługa autoryzacji administratora

MetodaOpis
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>>Wyświetla listę użytkowników projektu z wyszukiwaniem (search) i paginacją (limit, offset).
getUser(userId: string): Promise<AuraResponse<AdminUser>>Odczytuje użytkownika według jego identyfikatora.
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>Tworzy użytkownika bez przechodzenia przez rejestrację publiczną (adres e-mail, hasło, metadane, rola).
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>Aktualizuje użytkownika: zmieniają się tylko podane pola.
deleteUser(userId: string): Promise<AuraResponse<null>>Usuń użytkownika.
banUser(userId: string): Promise<AuraResponse<null>>Blokuje użytkownika: nie może się już zalogować.
unbanUser(userId: string): Promise<AuraResponse<null>>Znieść blokadę użytkownika.
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>Generuje jednorazowe łącze dla użytkownika ('magic', 'recovery' lub 'invite') i zwraca { link, token }.
getUserStats(): Promise<AuraResponse<UserStats>>Statystyki użytkownika: całkowite, zweryfikowane, zbanowane, z MFA i nowe w ciągu 7 dni.
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>Wyświetla listę tożsamości powiązanych z użytkownikiem (dostawcy OAuth, e-mail).
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>>Wyświetla listę aktywnych sesji wszystkich użytkowników, z możliwością filtrowania według userId, z podziałem na strony.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Odwołuje sesję według jej identyfikatora.
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>>Odczytuje dziennik audytu (akcja, adres IP, agent użytkownika, data), z możliwością filtrowania według userId, ze stronicowaniem.
getSettings(): Promise<AuraResponse<AuthSettings>>Odczytuje ustawienia uwierzytelniania projektu.
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>Aktualizuje ustawienia autoryzacji projektu (częściowe scalanie: zapisywane są tylko podane pola, COALESCE po stronie zaplecza).
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>Wyświetla listę szablonów wiadomości e-mail dotyczących uwierzytelniania projektu.
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>Odczytuje szablon wiadomości e-mail danego typu (np. potwierdzenie, odzyskiwanie).
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>Zastępuje treść szablonu wiadomości e-mail danego typu.
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>>Usuwa szablon niestandardowy z typu wiadomości e-mail.
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>>Wysyła testową wiadomość e-mail z szablonem typu na adres to_email.
Wygenerowana strona

Ta strona jest generowana na podstawie deklaracji typów i komentarzy pakietu SDK, więc nie może odbiegać od opublikowanego kodu. Aby poznać sprawdzone przykłady, przeczytaj przewodniki.

Ostatnia aktualizacja · 12 paź 2026