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 MfaChallenge | Osłona typu dyskryminacyjnego LoginResponse = TokenPair | MfaChallenge. |
#
Klasa
Usługa autoryzacji
| Metoda | Opis |
|---|---|
dispose(): void | Demontuje 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
| Metoda | Opis |
|---|---|
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