Autenticación
Módulo de Autenticación
Este módulo gestiona todos los aspectos relacionados con la autenticación y autorización del sistema OnSpot.
Contenido
- Controlador/Rutas - Rutas y controladores del módulo de autenticación
- Servicio/Lógica - Lógica de negocio del servicio de autenticación
- Guard de Autenticación - Guard personalizado para autenticación JWT
- Estrategia de Autenticación - Estrategia de autenticación JWT con Passport
- Decorador Usuario Actual - Decorador para obtener el usuario actual
Descripción General
El módulo de autenticación maneja:
- Autenticación de usuarios (backoffice, platform, customer)
- Generación y validación de tokens JWT
- Gestión de contraseñas (cambio y recuperación)
- Autorización basada en roles
- Guardias y estrategias de autenticación
Características Principales
Tipos de Usuario
- Backoffice: Usuarios administrativos con acceso completo
- Platform: Usuarios de la plataforma con permisos específicos
- Customer: Clientes finales con acceso limitado
Seguridad
- Tokens JWT con expiración configurable
- Encriptación de contraseñas con bcrypt
- Validación de roles y permisos
- Protección contra ataques de fuerza bruta
Funcionalidades
- Login y logout
- Registro de nuevos usuarios
- Recuperación de contraseñas
- Cambio de contraseñas
- Validación de tokens
- Renovación de tokens
Flujo de Autenticación
- Login: Usuario envía credenciales
- Validación: Sistema verifica credenciales
- Token: Se genera JWT con información del usuario
- Autorización: Token se usa para acceder a recursos protegidos
- Renovación: Token se renueva antes de expirar
Configuración
El módulo utiliza las siguientes variables de entorno:
env
JWT_SECRET="tu-palabra-secreta"
JWT_EXPIRATION_TIME=7dUso en Otros Módulos
Para proteger rutas en otros módulos:
typescript
@UseGuards(AuthGuard)
@Get('protected-route')
async getProtectedData(@CurrentUser() user: User) {
return this.service.getDataForUser(user);
}Versión: 1.0 | Actualizado: hace 2 meses