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ón | Descripción |
|---|---|
function isMfaChallenge(v: unknown): v is MfaChallenge | Guardia de tipo discriminante LoginResponse = TokenPair | MfaChallenge. |
#
clase
Servicio de autenticación
| Método | Descripción |
|---|---|
dispose(): void | Desmonta 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étodo | Descripció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