Aura Logo
aurabasedocumentos
documentos›JavaScript SDK reference›Auth reference

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çãoDescrição
function isMfaChallenge(v: unknown): v is MfaChallengeProtetor de tipo discriminante LoginResponse = TokenPair | MfaChallenge.
#
Classe

Serviço de autenticação

MétodoDescrição
dispose(): voidDesmonta 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étodoDescriçã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