🔐 Autenticación
Autentica un usuario con email y contraseña. Retorna un token JWT válido para acceder a los endpoints protegidos.
📤 Request Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| string | ✅ Sí | Email del usuario | |
| password | string | ✅ Sí | Contraseña del usuario |
"email": "usuario@ejemplo.com",
"password": "micontraseña123"
}
📥 Response
"success": true,
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user": {
"id": 1,
"email": "usuario@ejemplo.com",
"name": "Juan Pérez",
"is_admin": false
}
}
}
Completa el registro de un usuario pre-aprobado. El usuario debe existir previamente en el sistema (pre-registro).
📤 Request Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| string | ✅ Sí | Email del usuario pre-registrado | |
| password | string | ✅ Sí | Nueva contraseña (mín. 6 caracteres) |
| name | string | ✅ Sí | Nombre completo del usuario |
📥 Response
"success": true,
"data": {
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9...",
"user": {
"id": 1,
"email": "usuario@ejemplo.com",
"name": "Juan Pérez"
}
}
}
🎫 Gestión de Tokens
Valida un token JWT y retorna información sobre su validez.
📤 Request Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| token | string | ✅ Sí | Token JWT a validar |
📥 Response
"success": true,
"data": {
"valid": true,
"user": {
"user_id": 1,
"email": "usuario@ejemplo.com",
"is_admin": false
}
}
}
Decodifica un token JWT sin validar su firma. Útil para debugging.
Obtiene información completa del usuario a partir de un token válido.
👤 Gestión de Usuarios
Obtiene el perfil completo del usuario autenticado.
🔑 Headers
| Header | Valor | Requerido |
|---|---|---|
| Authorization | Bearer {token} | ✅ Sí |
Cambia la contraseña del usuario autenticado.
📤 Request Body
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
| current_password | string | ✅ Sí | Contraseña actual |
| new_password | string | ✅ Sí | Nueva contraseña (mín. 6 caracteres) |
⚙️ Administración
Obtiene la lista de todos los usuarios del sistema.
Obtiene información detallada de un usuario específico.
🛡️ Seguridad
Autenticación JWT
El microservicio utiliza JSON Web Tokens (JWT) para la autenticación:
| Parámetro | Valor | Descripción |
|---|---|---|
| Algoritmo | HS256 | Algoritmo de firma |
| Expiración | 24 horas | Tiempo de vida del token |
| Issuer | auth-service | Emisor del token |
Headers de Autenticación
Para acceder a endpoints protegidos, incluye el token en el header:
❌ Códigos de Error
| Código | Descripción | Posible Causa |
|---|---|---|
| 400 | Bad Request | Datos de entrada inválidos o faltantes |
| 401 | Unauthorized | Token inválido, expirado o no proporcionado |
| 403 | Forbidden | Usuario no tiene permisos para la operación |
| 404 | Not Found | Recurso no encontrado |
| 429 | Too Many Requests | Límite de rate limiting excedido |
| 500 | Internal Server Error | Error interno del servidor |