SDK JavaScript: referência de autenticação
Todo método de autenticação e administração de usuários, com sua assinatura.
6 min lido·Nível referência·Revisado em 12 de out. de 2026
Este texto em inglês foi gerado automaticamente a partir do original em francês e ainda não foi revisado.
Esta página foi traduzida automaticamente. A versão em inglês é oficial.
#
Funções
Funções exportadas
| Função | Descrição |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | Protetor de tipo discriminante LoginResponse = TokenPair | MfaChallenge. |
#
Classe
Serviço de autenticação
| Método | Descrição |
|---|---|
dispose(): void | Desmonta o ciclo de vida proativo: ticker, visibilidade, BroadcastChannel, ouvintes. |
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; } | Escuta alterações de estado da sessão (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…). |
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>> | Crie uma conta com e-mail e senha. |
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>> | Efetua login em um usuário por e-mail e senha. |
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>> | Inicia um fluxo OAuth: sempre retorna { url } (e adicionalmente redireciona o navegador se existir um window). |
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>> | Envia um link de conexão por e-mail (“link mágico”). |
signInAnonymously(): Promise<AuraResponse<TokenPair>> | Cria uma sessão anônima (usuário sem email), gravada e reportada por SIGNED_IN. |
signOut(): Promise<AuraResponse<null>> | Desconectar: revoga o token de atualização do lado do servidor, se existir, libera a sessão local e emite SIGNED_OUT. |
refreshSession(): Promise<AuraResponse<TokenPair>> | Atualiza a sessão com o token de atualização e emite TOKEN_REFRESHED. |
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }> | Sessão atual lida no armazenamento (síncrona na prática, sem chamada de rede). |
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>> | Instala uma sessão a partir de um token de acesso e um token de atualização existentes (por exemplo, recebido de um servidor). |
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>> | Troca o código de autorização PKCE para uma sessão. |
listSessions(): Promise<AuraResponse<SessionInfo[]>> | Lista as sessões do usuário logado (dispositivo, endereço IP, datas); is_current localiza a sessão atual. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Revoga uma sessão do usuário conectado pelo seu identificador. |
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>> | Efetua logout do usuário em todos os lugares: revoga todas as suas sessões, libera a sessão local e emite SIGNED_OUT. |
getUser(jwt?: string): Promise<AuraResponse<User>> | Recupera o usuário validado no lado do servidor. |
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>> | Verifica e decodifica as declarações de um JWT. |
deleteUser(password: string): Promise<AuraResponse<null>> | Exclui a conta do usuário conectado após a confirmação da senha e, em seguida, limpa a sessão local. |
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>> | Atualiza o usuário logado (metadados, senha, etc.) e emite USER_UPDATED. |
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>> | Envia um e-mail de redefinição de senha. |
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>> | Altera a senha do usuário logado. |
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>> | MFA: inicia o registro TOTP e retorna secret e a URL otpauth_url para exibir como um código QR. |
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: confirma a inscrição com um primeiro código e retorna os códigos de recuperação. |
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>> | MFA: encerra uma conexão que retornou um desafio (mfa_token e código TOTP). |
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>> | MFA: desativa MFA após confirmação com a senha. |
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>> | Ponto de entrada ÚNICO de verificação OTP (paridade verifyOtp de @supabase/auth-js). |
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>> | Reenvia o e-mail de verificação para email ou para o endereço do usuário logado. |
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>> | Envia um código de uso único por e-mail; a ser confirmado por verifyOtp({ type: 'email' }). |
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>> | Envia um código único por SMS; a ser confirmado por verifyOtp({ type: 'sms' }). |
listIdentities(): Promise<AuraResponse<IdentityInfo[]>> | Lista as identidades (provedores) vinculadas ao usuário logado. |
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>> | Inicia a vinculação de um provedor OAuth à conta conectada e retorna o URL de autorização para abertura. |
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>> | Desanexa uma identidade da conta conectada por seu identificador. |
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>> | MFA: regenera os códigos de recuperação após confirmação com um código TOTP. |
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>> | Troca um ID de token de provedor (Google/Apple, dispositivo móvel nativo) por uma sessão. |
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>> | Paridade GoTrue: GET /settings – configuração do projeto público (sem necessidade de autenticação). |
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>> | Chave publicável (chave anônima) do projeto — GET /anon-key (pública, como o modelo Supabase). |
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>> | Consome o token de recuperação de senha e aplica a nova senha. |
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>> | Converte o usuário anônimo atual (JWT obrigatório) em uma conta normal de email+senha. |
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>> | Consome o token do link mágico e retorna um TokenPair. |
#
Classe
AuthAdminService
| Método | Descrição |
|---|---|
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>> | Lista os usuários do projeto, com pesquisa (search) e paginação (limit, offset). |
getUser(userId: string): Promise<AuraResponse<AdminUser>> | Lê um usuário pelo seu ID. |
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>> | Cria um usuário sem passar por cadastro público (e-mail, senha, metadados, função). |
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>> | Atualiza um usuário: apenas os campos fornecidos são alterados. |
deleteUser(userId: string): Promise<AuraResponse<null>> | Exclua um usuário. |
banUser(userId: string): Promise<AuraResponse<null>> | Bane um usuário: ele não consegue mais fazer login. |
unbanUser(userId: string): Promise<AuraResponse<null>> | Retire o banimento de um usuário. |
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>> | Gera um link único para um usuário ('magic', 'recovery' ou 'invite') e retorna { link, token }. |
getUserStats(): Promise<AuraResponse<UserStats>> | Estatísticas do usuário: total, verificado, banido, com MFA e novos em 7 dias. |
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>> | Lista identidades vinculadas a um usuário (provedores OAuth, email). |
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>> | Lista as sessões ativas de todos os usuários, filtráveis por userId, com paginação. |
revokeSession(sessionId: string): Promise<AuraResponse<null>> | Revoga uma sessão pelo seu identificador. |
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>> | Lê o log de auditoria (ação, endereço IP, agente do usuário, data), filtrável por userId, com paginação. |
getSettings(): Promise<AuraResponse<AuthSettings>> | Lê as configurações de autenticação do projeto. |
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>> | Atualiza as configurações de autenticação do projeto (mesclagem parcial: apenas os campos fornecidos são gravados, COALESCE no backend). |
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>> | Lista modelos de email de autenticação de projeto. |
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>> | Lê o modelo de email de um determinado tipo (por exemplo, confirmação, recuperação). |
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>> | Substitui o conteúdo do modelo de email de um determinado tipo. |
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>> | Remove o modelo personalizado de um tipo de email. |
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>> | Envia um email de teste com um modelo de tipo para o endereço to_email. |
Página gerada
Esta página é gerada a partir das declarações de tipo e comentários do SDK, portanto, não pode desviar do código publicado. Para exemplos resolvidos, leia os guias.
Última atualização · 12 de out. de 2026