Logotipo de Aurabase
aurabasedocumentos
documentos›JavaScript SDK reference›Auth reference

SDK de JavaScript: referencia de autenticación

Cada método de autenticación y administración de usuarios, con su firma.

6 min leer·Nivel referencia·Revisado el 12 oct 2026
Este texto en inglés se generó automáticamente a partir del original en francés y aún no ha sido revisado.
Esta página fue traducida automáticamente. La versión en inglés es autorizada.
#
Funciones

Funciones exportadas

FunciónDescripción
function isMfaChallenge(v: unknown): v is MfaChallengeGuardia de tipo discriminante LoginResponse = TokenPair | MfaChallenge.
#
clase

Servicio de autenticación

MétodoDescripción
dispose(): voidDesmonta el ciclo de vida proactivo: ticker, visibilidad, BroadcastChannel, oyentes.
onAuthStateChange(callback: AuthStateCallback): { unsubscribe: () => void; data: { subscription: { unsubscribe: () => void; }; }; }Escucha los cambios de estado de la sesión (SIGNED_IN, SIGNED_OUT, TOKEN_REFRESHED, USER_UPDATED, MFA_CHALLENGE…).
signUp(req: SignUpRequest): Promise<AuraResponse<LoginResponse>>Crea una cuenta con correo electrónico y contraseña.
signInWithPassword(req: SignInRequest): Promise<AuraResponse<LoginResponse>>Inicia sesión como usuario mediante correo electrónico y contraseña.
signInWithOAuth(provider: string, options?: OAuthSignInOptions): Promise<AuraResponse<{ url: string; }>>Inicia un flujo OAuth: siempre devuelve { url } (y además redirige el navegador si existe un window).
signInWithMagicLink(req: MagicLinkRequest): Promise<AuraResponse<{ message: string; }>>Envía un enlace de conexión por correo electrónico (“enlace mágico”).
signInAnonymously(): Promise<AuraResponse<TokenPair>>Crea una sesión anónima (usuario sin correo electrónico), registrada y reportada por SIGNED_IN.
signOut(): Promise<AuraResponse<null>>Desconectar: revoca el token de actualización del lado del servidor si existe, vacía la sesión local y emite SIGNED_OUT.
refreshSession(): Promise<AuraResponse<TokenPair>>Actualiza la sesión con el token de actualización y emite TOKEN_REFRESHED.
getSession(): Promise<{ data: { session: Session | null; }; error: null; accessToken: string | null; access_token: string | null; user: User | null; }>Sesión actual leída desde la tienda (sincrónica en la práctica, sin llamada de red).
setSession(accessToken: string, refreshToken: string): Promise<AuraResponse<User>>Instala una sesión desde un token de acceso existente y un token de actualización (por ejemplo, recibido de un servidor).
exchangeCodeForSession(authCode: string, codeVerifier?: string): Promise<AuraResponse<LoginResponse>>Intercambia el código de autorización PKCE para una sesión.
listSessions(): Promise<AuraResponse<SessionInfo[]>>Enumera las sesiones de los usuarios que han iniciado sesión (dispositivo, dirección IP, fechas); is_current localiza la sesión actual.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Revoca una sesión del usuario conectado por su identificador.
revokeAllSessions(): Promise<AuraResponse<{ message: string; }>>Cierra la sesión del usuario en todas partes: revoca todas sus sesiones, vacía la sesión local y emite SIGNED_OUT.
getUser(jwt?: string): Promise<AuraResponse<User>>Recupera el usuario validado en el lado del servidor.
getClaims(jwt?: string, options?: { allowExpired?: boolean; issuer?: string; audience?: string; }): Promise<AuraResponse<GetClaimsResult>>Verifica y decodifica las afirmaciones de un JWT.
deleteUser(password: string): Promise<AuraResponse<null>>Elimina la cuenta del usuario conectado después de la confirmación con su contraseña, luego borra la sesión local.
updateUser(req: UpdateUserRequest): Promise<AuraResponse<User>>Actualiza el usuario que inició sesión (metadatos, contraseña, etc.) y emite USER_UPDATED.
resetPasswordForEmail(req: PasswordResetRequest): Promise<AuraResponse<{ message: string; }>>Envía un correo electrónico para restablecer la contraseña.
updatePassword(newPassword: string, currentPassword?: string): Promise<AuraResponse<User>>Cambia la contraseña del usuario que ha iniciado sesión.
mfaEnroll(): Promise<AuraResponse<MfaEnrollResponse>>MFA: inicia la inscripción TOTP y devuelve secret y la URL otpauth_url para mostrarlos como un código QR.
mfaVerifySetup(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: confirma la inscripción con un primer código y devuelve los códigos de recuperación.
mfaVerify(req: MfaVerifyRequest): Promise<AuraResponse<TokenPair>>MFA: finaliza una conexión que devolvió un desafío (mfa_token y código TOTP).
mfaUnenroll(password: string): Promise<AuraResponse<{ message: string; }>>MFA: desactiva MFA después de la confirmación con la contraseña.
verifyOtp(params: VerifyEmailChangeOtpParams): Promise<AuraResponse<User>>
verifyOtp(params: Exclude<VerifyOtpParams, VerifyEmailChangeOtpParams>): Promise<AuraResponse<TokenPair>>
Punto de entrada ÚNICO de verificación OTP (paridad verifyOtp de @supabase/auth-js).
resendVerificationEmail(email?: string): Promise<AuraResponse<{ message: string; }>>Reenvía el correo electrónico de verificación a email o a la dirección del usuario que inició sesión.
signInWithEmailOtp(email: string): Promise<AuraResponse<{ message: string; }>>Envía un código de uso único por correo electrónico; para ser confirmado por verifyOtp({ type: 'email' }).
signInWithSmsOtp(phone: string): Promise<AuraResponse<{ message: string; }>>Envía un código único por SMS; para ser confirmado por verifyOtp({ type: 'sms' }).
listIdentities(): Promise<AuraResponse<IdentityInfo[]>>Enumera las identidades (proveedores) vinculadas al usuario que inició sesión.
linkIdentity(provider: string): Promise<AuraResponse<{ url: string; provider: string; }>>Comienza a vincular un proveedor OAuth a la cuenta conectada y devuelve la URL de autorización para abrir.
unlinkIdentity(identityId: string): Promise<AuraResponse<{ message: string; }>>Separa una identidad de la cuenta conectada por su identificador.
regenerateRecoveryCodes(code: string): Promise<AuraResponse<{ recovery_codes: string[]; }>>MFA: regenera los códigos de recuperación después de la confirmación con un código TOTP.
signInWithIdToken(provider: string, idToken: string, accessToken?: string): Promise<AuraResponse<LoginResponse>>Intercambia un ID de token de proveedor (Google/Apple, móvil nativo) por una sesión.
getSettings(): Promise<AuraResponse<{ disable_signup: boolean; external: Record<string, boolean>; mailer_autoconfirm: boolean; mfa_enabled: boolean; }>>Paridad GoTrue: GET /settings: configuración pública del proyecto (no se requiere autenticación).
getAnonKey(): Promise<AuraResponse<{ anon_key: string; }>>Clave publicable (clave anónima) del proyecto: GET /anon-key (pública, como el modelo Supabase).
resetPassword(token: string, newPassword: string): Promise<AuraResponse<TokenPair>>Consume el token de recuperación de contraseña y aplica la nueva contraseña.
promoteAnonymous(credentials: { email: string; password: string; }): Promise<AuraResponse<TokenPair>>Convierte el usuario anónimo actual (se requiere JWT) en una cuenta normal de correo electrónico y contraseña.
verifyMagicLink(token: string): Promise<AuraResponse<TokenPair>>Consume el token de enlace mágico y devuelve un TokenPair.
#
clase

Servicio de administración de autenticación

MétodoDescripción
listUsers(params?: { limit?: number; offset?: number; search?: string; }): Promise<AuraResponse<AdminUser[]>>Enumera los usuarios del proyecto, con búsqueda (search) y paginación (limit, offset).
getUser(userId: string): Promise<AuraResponse<AdminUser>>Lee un usuario por su ID.
createUser(data: AdminCreateUserRequest): Promise<AuraResponse<AdminUser>>Crea un usuario sin pasar por registro público (correo electrónico, contraseña, metadatos, rol).
updateUser(userId: string, data: AdminUpdateUserRequest): Promise<AuraResponse<AdminUser>>Actualiza un usuario: solo cambian los campos proporcionados.
deleteUser(userId: string): Promise<AuraResponse<null>>Eliminar un usuario.
banUser(userId: string): Promise<AuraResponse<null>>Banea a un usuario: ya no puede iniciar sesión.
unbanUser(userId: string): Promise<AuraResponse<null>>Levantar la prohibición de un usuario.
generateLink(userId: string, type: GenerateLinkType): Promise<AuraResponse<GenerateLinkResult>>Genera un enlace único para un usuario ('magic', 'recovery' o 'invite') y devuelve { link, token }.
getUserStats(): Promise<AuraResponse<UserStats>>Estadísticas de usuario: total, verificado, baneado, con MFA y nuevo durante 7 días.
listUserIdentities(userId: string): Promise<AuraResponse<IdentityInfo[]>>Enumera las identidades vinculadas a un usuario (proveedores OAuth, correo electrónico).
listSessions(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AdminSessionInfo[]>>Enumera las sesiones activas de todos los usuarios, filtrables por userId, con paginación.
revokeSession(sessionId: string): Promise<AuraResponse<null>>Revoca una sesión por su identificador.
getAuditLog(params?: { userId?: string; limit?: number; offset?: number; }): Promise<AuraResponse<AuditLogEntry[]>>Lee el registro de auditoría (acción, dirección IP, agente de usuario, fecha), filtrable por userId, con paginación.
getSettings(): Promise<AuraResponse<AuthSettings>>Lee la configuración de autenticación del proyecto.
updateSettings(data: AuthSettingsUpdate): Promise<AuraResponse<AuthSettings>>Actualiza la configuración de autenticación del proyecto (fusión parcial: solo se escriben los campos proporcionados, COALESCE en el lado del backend).
listEmailTemplates(): Promise<AuraResponse<Record<string, unknown>[]>>Enumera las plantillas de correo electrónico de autenticación de proyectos.
getEmailTemplate(type: string): Promise<AuraResponse<Record<string, unknown>>>Lee la plantilla de correo electrónico de un tipo determinado (por ejemplo, confirmación, recuperación).
updateEmailTemplate(type: string, data: EmailTemplateUpdate): Promise<AuraResponse<Record<string, unknown>>>Reemplaza el contenido de la plantilla de correo electrónico de un tipo determinado.
deleteEmailTemplate(type: string): Promise<AuraResponse<{ message: string; }>>Elimina la plantilla personalizada de un tipo de correo electrónico.
testEmailTemplate(type: string, body: { to_email: string; }): Promise<AuraResponse<null>>Envía un correo electrónico de prueba con una plantilla de tipo a la dirección to_email.
página generada

Esta página se genera a partir de las declaraciones de tipo y los comentarios del SDK, por lo que no puede derivarse del código publicado. Para ver ejemplos resueltos, lea las guías.

Última actualización · 12 oct 2026