🔑 Autenticación Stateless (JWT)
El flujo de autenticación está centralizado en elAuthController, diseñado para ser ligero, seguro y totalmente adaptado al cambio de idioma.
/api/v1/auth/login
Valida credenciales y emite un token JWT firmado si el usuario está activo y autenticado correctamente.
🛡️ Flujo de Validación y Seguridad
- Verificación de Credenciales: Valida email y contraseña cifrada usando el facade
Hashde Laravel. - Protección contra Bajas Lógicas: Si el usuario existe pero ha sido desactivado (Soft Delete), el sistema bloquea el acceso con un código
403 Forbidden, impidiendo la emisión del token. - Prevención de Fuerza Bruta: La ruta está protegida por un middleware perimetral (
throttle:4,1) que bloquea la IP durante un minuto tras 4 intentos fallidos.
🛂 Control de Acceso Basado en Roles (RBAC)
Una vez emitido el token, la autorización de las rutas protegidas se delega al middleware personalizadoCheckRole. Este componente intercepta las peticiones, extrae el perfil del usuario autenticado y verifica dinámicamente sus privilegios.
🚦 Lógica de Intercepción
El middleware aprovecha la relación Many-to-Many entreUser y Role de Eloquent. Utiliza el operador spread (...$roles) nativo de PHP para recibir una cantidad variable de roles permitidos directamente desde la definición de la ruta.