馃攼 Documentaci贸n de la API de Autenticaci贸n

Endpoint de Autenticaci贸n

POST /api/auth

Descripci贸n

Este endpoint genera tokens de autenticaci贸n JWT (JSON Web Tokens) para su uso en APIs. Los tokens generados tienen una validez de 1 hora y pueden ser utilizados para autenticar solicitudes en otros endpoints protegidos.

Usuarios Disponibles

Para pruebas, puedes usar cualquiera de estos usuarios:

  • test_user / test_password
  • admin / admin123

Par谩metros de Solicitud

{
    "username": "string",
    "password": "string"
}

Respuesta Exitosa (200 OK)

{
    "status": "success",
    "token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...",
    "expires_in": 3600
}

Respuestas de Error

400 Bad Request
{
    "status": "error",
    "message": "Se requieren username y password"
}
401 Unauthorized
{
    "status": "error",
    "message": "Credenciales inv谩lidas"
}

Ejemplo de uso con cURL

curl -X POST https://testio.dev/api/auth \
    -H "Content-Type: application/json" \
    -d '{"username": "test_user", "password": "test_password"}'

Ejemplo de uso con Postman

  1. M茅todo: POST
  2. URL: https://testio.dev/api/auth
  3. Headers: Content-Type: application/json
  4. Body (raw JSON):
    {
        "username": "test_user",
        "password": "test_password"
    }

Uso del Token

Para usar el token en endpoints protegidos, incl煤yelo en el header de la petici贸n:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Endpoint de Perfil de Usuario

GET /api/auth/profile

Descripci贸n

Este endpoint protegido devuelve la informaci贸n del perfil del usuario autenticado. Requiere un token JWT v谩lido en el header de la petici贸n.

Autenticaci贸n Requerida

Se requiere incluir el token JWT en el header de la petici贸n:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...

Respuesta Exitosa (200 OK)

{
    "status": "success",
    "data": {
        "id": "123",
        "username": "test_user",
        "email": "test@example.com",
        "role": "user"
    }
}

Respuestas de Error

401 Unauthorized
{
    "status": "error",
    "message": "Token no proporcionado o inv谩lido"
}

Ejemplo de uso con cURL

curl -X GET https://testio.dev/api/auth/profile \
    -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..."

Ejemplo de uso con Postman

  1. M茅todo: GET
  2. URL: https://testio.dev/api/auth/profile
  3. Headers:
    • Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...