Логотип Аурабаза
аурабазадокументы
документы›JavaScript SDK reference›Auth reference

JavaScript SDK: ссылка на аутентификацию

Каждый метод аутентификации и администрирования пользователей со своей подписью.

6 мин читать·Уровень ссылка·Пересмотрено 12 окт. 2026 г.
Этот текст на английском языке был создан автоматически на основе французского оригинала и еще не проверялся.
Эта страница была переведена автоматически. Английская версия является авторитетной.
#
Функции

Экспортированные функции

ФункцияОписание
function isMfaChallenge(v: unknown): v is MfaChallengeЗащита дискриминантного типа LoginResponse = TokenPair | MfaChallenge.
#
Сорт

АутСервис

МетодОписание
dispose(): voidРазбирает проактивный жизненный цикл: тикер, видимость, BroadcastChannel, прослушиватели.
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; }Прослушивает изменения состояния сеанса (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…).
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>Создайте учетную запись с адресом электронной почты и паролем.
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>Авторизует пользователя по электронной почте и паролю.
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>>Запускает поток OAuth: всегда возвращает { url } (и дополнительно перенаправляет браузер, если window существует).
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>>Отправляет ссылку для подключения по электронной почте («магическая ссылка»).
signInAnonymously(): Promise<AuraResponse<TokenPair>>Создает анонимный сеанс (пользователь без электронной почты), записываемый и сообщаемый SIGNED_IN.
signOut(): Promise<AuraResponse<null>>Отключение: отзывает токен обновления на стороне сервера, если он существует, очищает локальный сеанс и выдает SIGNED_OUT.
refreshSession(): Promise<AuraResponse<TokenPair>>Обновляет сеанс с помощью токена обновления и выдает TOKEN_REFRESHED.
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }>Текущий сеанс читается из хранилища (на практике синхронно, без сетевого вызова).
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>Устанавливает сеанс на основе существующего токена доступа и токена обновления (например, полученного с сервера).
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>>Обменяет код авторизации PKCE для сеанса.
listSessions(): Promise<AuraResponse<SessionInfo[]>>Перечисляет сеансы вошедшего пользователя (устройство, IP-адрес, даты); is_current находит текущий сеанс.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Отменяет сеанс пользователя, подключенного по его идентификатору.
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>>Выключает пользователя повсюду: отменяет все его сеансы, очищает локальный сеанс и выдает SIGNED_OUT.
getUser(jwt?: string): Promise<AuraResponse<User>>Получает проверенного пользователя на стороне сервера.
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>>Проверяет и декодирует утверждения JWT.
deleteUser(password: string): Promise<AuraResponse<null>>Удаляет учетную запись подключенного пользователя после подтверждения его пароля, а затем очищает локальный сеанс.
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>Обновляет вошедшего в систему пользователя (метаданные, пароль и т. д.) и выдает USER_UPDATED.
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>>Отправляет электронное письмо для сброса пароля.
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>Изменяет пароль вошедшего в систему пользователя.
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>MFA: запускает регистрацию TOTP и возвращает secret и URL-адрес otpauth_url для отображения в виде QR-кода.
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: подтверждает регистрацию с помощью первого кода и возвращает коды восстановления.
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>MFA: разрывает соединение, возвратившее запрос (mfa_token и код TOTP).
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>>MFA: деактивирует MFA после подтверждения пароля.
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>
verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>
ЕДИНСТВЕННАЯ точка входа проверки OTP (парность verifyOtp из @supabase/auth-js).
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>>Повторно отправляет письмо с подтверждением на email или на адрес вошедшего в систему пользователя.
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>>Отправляет одноразовый код по электронной почте; должен быть подтвержден verifyOtp({ type: 'email' }).
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>>Отправляет одноразовый код по SMS; должен быть подтвержден verifyOtp({ type: 'sms' }).
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>Перечисляет удостоверения (поставщиков), связанные с вошедшим в систему пользователем.
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>>Начинает привязку провайдера OAuth к подключенной учетной записи и возвращает URL-адрес авторизации для открытия.
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>>Отключает личность от учетной записи, связанной с ее идентификатором.
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: повторно генерирует коды восстановления после подтверждения с помощью кода TOTP.
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>>Обменяет идентификатор токена провайдера (Google/Apple, собственный мобильный телефон) для сеанса.
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>>Паритет GoTrue: GET /settings — публичная конфигурация проекта (авторизация не требуется).
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>>Публикуемый ключ (анон-ключ) проекта — GET /anon-key (публичный, как у модели Supabase).
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>Потребляет токен восстановления пароля и применяет новый пароль.
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>>Преобразует текущего анонимного пользователя (требуется JWT) в обычную учетную запись электронной почты + пароль.
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>Потребляет токен волшебной ссылки и возвращает TokenPair.
#
Сорт

Аутадминсервице

МетодОписание
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>>Перечисляет пользователей проекта с поиском (search) и нумерацией страниц (limit, offset).
getUser(userId: string): Promise<AuraResponse<AdminUser>>Считывает пользователя по его идентификатору.
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>Создает пользователя без прохождения публичной регистрации (адрес электронной почты, пароль, метаданные, роль).
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>Обновляет пользователя: меняются только предоставленные поля.
deleteUser(userId: string): Promise<AuraResponse<null>>Удалить пользователя.
banUser(userId: string): Promise<AuraResponse<null>>Банит пользователя: он больше не может войти.
unbanUser(userId: string): Promise<AuraResponse<null>>Снять бан пользователя.
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>Создает одноразовую ссылку для пользователя ('magic', 'recovery' или 'invite') и возвращает { link, token }.
getUserStats(): Promise<AuraResponse<UserStats>>Статистика пользователей: всего, проверенных, забаненных, с MFA и новых за 7 дней.
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>Перечисляет идентификаторы, связанные с пользователем (поставщики OAuth, электронная почта).
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>>Перечисляет активные сеансы всех пользователей, фильтруемые по userId, с нумерацией страниц.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Отменяет сеанс по его идентификатору.
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>>Считывает журнал аудита (действие, IP-адрес, пользовательский агент, дата), фильтруемый по userId, с подкачкой по страницам.
getSettings(): Promise<AuraResponse<AuthSettings>>Считывает настройки аутентификации проекта.
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>Обновляет настройки аутентификации проекта (частичное объединение: записываются только предоставленные поля, COALESCE на стороне бэкенда).
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>Перечисляет шаблоны электронной почты для аутентификации проекта.
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>Считывает шаблон электронной почты заданного типа (например, подтверждение, восстановление).
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>Заменяет содержимое шаблона электронной почты заданного типа.
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>>Удаляет пользовательский шаблон из типа электронной почты.
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>>Отправляет тестовое письмо с шаблоном типа на адрес to_email.
Сгенерированная страница

Эта страница создается на основе объявлений типов и комментариев SDK, поэтому она не может отличаться от опубликованного кода. Рабочие примеры можно найти в руководствах.

Последнее обновление · 12 окт. 2026 г.