Documentation Index
Fetch the complete documentation index at: https://wiki.vivla.com/llms.txt
Use this file to discover all available pages before exploring further.
Descripción
El módulo Auth maneja login, registro, reset de contraseña, gestión de tokens y modo visitante.- Ubicación:
src/modules/auth/
Este módulo implementa un sistema de bloqueo por intentos fallidos: tras 5 intentos incorrectos,
la cuenta se bloquea durante 15 minutos.
Screens
| Screen | Ruta | Descripción |
|---|---|---|
LoginScreen | /(auth)/login | Login con email/contraseña, soporte para invitaciones |
ResendScreen | /(auth)/resend-password | Reenvío de email de reset |
ResetScreen | /(auth)/reset-password | Formulario de nueva contraseña |
API Endpoints
| Método | Path | Descripción |
|---|---|---|
POST | /auth/login | Login con credenciales |
POST | /auth/register | Registro de nuevo usuario |
PUT | /auth/reset-password | Solicitar reset de contraseña |
POST | /auth/logout | Cerrar sesión |
POST | /auth/delete-account | Eliminar cuenta |
POST | /auth/refresh-token | Renovar access token |
GET | /users/me | Obtener usuario actual |
Hooks
| Hook | Descripción |
|---|---|
useAuth() | Hook principal: login, logout, resetPassword, resendPassword, initializeAuth |
useAuthState() | Selector de estado de autenticación |
useRegister() | Lógica de registro con manejo de errores |
Tipos principales
Store
El módulo utilizaauthStore en Zustand con almacenamiento híbrido (AsyncStorage + SecureStore).
Ver Autenticación para detalles del flujo JWT.
Componentes destacados
LoginForm
Formulario de login con validación y manejo de errores inline.
ResendForm
Formulario para reenvío de email de reseteo de contraseña.
ResetPasswordForm
Formulario para establecer una nueva contraseña tras el reset.
AuthError
Componente de visualización de errores de autenticación con mapeo de códigos.
authService
Servicio singleton que centraliza la lógica de autenticación:- Login attempt lockout: Máximo 5 intentos (
MAX_LOGIN_ATTEMPTS), bloqueo de 15 minutos (LOCKOUT_DURATION). - Manejo de errores: Mapeo de códigos de error del backend a mensajes legibles.
- Gestión de tokens: Almacenamiento seguro y renovación automática.
Modo visitante
- Acceso
- Salida
El método
loginAsVisitor() permite explorar la app sin necesidad de crear una cuenta. Los visitantes tienen acceso limitado a funcionalidades de solo lectura.