Descripción General
El sistema utiliza Laravel Sanctum para la autenticación basada en tokens. Los tokens se generan durante el login y deben incluirse en todas las peticiones subsecuentes a endpoints protegidos.Login
Autentica a un usuario y genera un token de acceso.Endpoint
/api/login
Parámetros del Body
Nombre de usuario o email del usuario. Puede usar tanto el campo
name como email de la base de datos.Contraseña del usuario. Se verifica usando bcrypt hash.
Campos de Respuesta
Indica si la operación fue exitosa.
Mensaje descriptivo del resultado.
Token de acceso Bearer generado por Sanctum. Válido por 8 horas desde su generación.
Lista de empresas a las que el usuario tiene acceso. Los administradores (rol_id=1) ven todas las empresas activas, mientras que usuarios normales solo ven su empresa asignada.
Lista de permisos del usuario en formato
resource.action (ej: productos.view, ventas.create). Los administradores reciben automáticamente todos los permisos disponibles.Notas de Implementación
Duración del Token: Los tokens generados son válidos por 8 horas. Después de este tiempo, el usuario debe volver a autenticarse o usar el endpoint de refresh.
Obtener Usuario Autenticado
Recupera la información del usuario actualmente autenticado.Endpoint
/api/me
Headers Requeridos
Bearer token obtenido del endpoint de login.
Refrescar Token
Renueva el token de autenticación actual antes de que expire.Endpoint
/api/refresh
Comportamiento
- Revoca el token actual utilizado en la petición
- Genera un nuevo token válido por 8 horas adicionales
- Retorna el nuevo token que debe reemplazar al anterior
Verificar Token
Verifica si el token actual es válido y retorna información del usuario.Endpoint
/api/verify
Logout
Cierra la sesión del usuario y revoca el token actual.Endpoint
/api/logout
Comportamiento
- Elimina el token de acceso de Sanctum de la base de datos
- Invalida la sesión PHP de Laravel
- Regenera el token CSRF
Limpieza del Cliente: Después del logout exitoso, elimine el token almacenado:
Cambiar Empresa Activa
Permite a los administradores cambiar entre diferentes empresas.Endpoint
/api/switch-empresa
Parámetros del Body
ID de la empresa a la que se desea cambiar. Debe ser una empresa activa en el sistema.
Flujo de Autenticación Completo
Configuración de Sanctum
El sistema está configurado con los siguientes parámetros:- Expiración: Los tokens no expiran automáticamente en la BD, pero se generan con una validez de 8 horas mediante el método
createToken() - Dominios con estado: localhost, localhost:3000, 127.0.0.1, 127.0.0.1:8000, ::1
- Guard:
web - Prefix de token: Sin prefijo configurado
La configuración completa se encuentra en
config/sanctum.php