Skip to content

Autenticación - Login

API Endpoints de Autenticación - Sepanka Plus

Section titled “API Endpoints de Autenticación - Sepanka Plus”

Esta documentación describe los nuevos endpoints de autenticación implementados con Laravel Sanctum para la plataforma Sepanka Plus.

http://tu-dominio.com/api

POST /auth/login

Autentica un usuario y devuelve un token de acceso.

{
"email": "usuario@ejemplo.com",
"password": "contraseña123"
}
{
"success": true,
"message": "Login exitoso",
"data": {
"user": {
"id": 1,
"email": "usuario@ejemplo.com",
"first_name": "Juan",
"last_name": "Pérez",
"mother_last_name": "García",
"role": "admin",
"active": 1
},
"token": "1|abcdef1234567890...",
"token_type": "Bearer"
}
}
{
"success": false,
"message": "Credenciales incorrectas",
"data": null
}
{
"success": false,
"message": "Datos de entrada inválidos",
"errors": {
"email": ["El campo email es obligatorio."],
"password": ["El campo password es obligatorio."]
},
"data": null
}
  • 200: Operación exitosa
  • 401: No autorizado (credenciales incorrectas)
  • 403: Prohibido (usuario inactivo)
  • 422: Datos de entrada inválidos
  • 500: Error interno del servidor
Terminal window
curl -X POST http://tu-dominio.com/api/auth/login \
-H "Content-Type: application/json" \
-d '{
"email": "usuario@ejemplo.com",
"password": "contraseña123"
}'
  1. Seguridad: Los tokens tienen una duración indefinida por defecto. Se recomienda implementar expiración de tokens en producción.
  2. Compatibilidad: Los endpoints legacy siguen funcionando para mantener compatibilidad con sistemas existentes.
  3. Validación: Todos los endpoints incluyen validación de datos de entrada y manejo de errores.
  4. Respuestas: Todas las respuestas siguen un formato consistente con success, message y data.
  5. Autenticación: Los endpoints protegidos requieren el header Authorization: Bearer {token}.

Para configurar la expiración de tokens, edita el archivo config/sanctum.php:

'expiration' => 60 * 24, // 24 horas en minutos

Para configurar dominios permitidos para CORS, edita el archivo config/cors.php según tus necesidades.