Tema 13 · Chaining de Peticiones

Flujo Completo: Login Automático, Extracción de Token y Consumo de Endpoints

Aprende la técnica más importante en el testing de APIs: encadenar peticiones para capturar el token JWT del login y reutilizarlo automáticamente en todas las rutas protegidas.

El Problema del "Copy-Paste" Manual de Tokens

En el desarrollo de software moderno, prácticamente todas las APIs exigen autenticación basada en tokens (JWT o OAuth2 Bearer).

El error clásico de un desarrollador novato consiste en hacer un POST /login, copiar el valor del token con el ratón desde la respuesta JSON, e ir pegándolo manualmente en cada una de las 30 peticiones de su proyecto. Cada vez que el token expira (por ejemplo a los 15 o 60 minutos), el proceso manual debe repetirse una y otra vez.

Con encadenamiento de peticiones (Request Chaining), Postman automatiza este flujo al 100%:

Diagrama de Arquitectura: Encadenamiento Automatizado de Tokens

Diagrama de Flujo: Autenticación JWT automatizada con Postman

Figura 13.1: Ciclo completo de captura en Tests tab, almacenamiento en variable de entorno y herencia en peticiones protegidas.

Paso a Paso de la Implementación

  1. Crear la Petición de Login: Configura un POST {{base_url}}/api/v1/auth/login con cuerpo JSON enviando correo y contraseña.
  2. Escribir el Script Extractor en Tests: En la pestaña Tests de esa misma petición de login, parsea la respuesta con pm.response.json() y guarda el token en el entorno activo usando pm.environment.set("jwt_token", data.token).
  3. Configurar la Autorización en la Colección: Haz clic derecho en la Colección raíz ➔ Edit ➔ pestaña Authorization ➔ Tipo: Bearer Token ➔ Token: {{jwt_token}}.
  4. Heredar en las Peticiones Hijas: Asegúrate de que las demás peticiones (ej. GET /usuarios, POST /pedidos) tengan configurada su pestaña Auth en "Inherit auth from parent".
¡Resultado Impecable! Cada vez que envíes la petición de login, el token se refrescará al instante en todas las peticiones del proyecto sin tocar una sola cabecera manualmente.

⚡ Script Post-Response para Extracción Automática de JWT e ID de Usuario

Coloca este script en la pestaña Tests de tu petición de inicio de sesión (POST /login):

login-auto-token.js
Solo lectura
// 1. Validar que las credenciales fueron correctas
pm.test("Autenticación exitosa (200 OK)", function () {
    pm.response.to.have.status(200);
});

// 2. Extraer el token del cuerpo de la respuesta
const respuesta = pm.response.json();

pm.test("La respuesta contiene el access token", function () {
    pm.expect(respuesta).to.have.property("access_token");
    pm.expect(respuesta.access_token).to.be.a("string").that.is.not.empty;
});

// 3. Persistir el token en las variables de entorno activas
if (respuesta.access_token) {
    pm.environment.set("jwt_token", respuesta.access_token);
    
    // Opcional: También podemos guardar el ID y rol del usuario conectado
    if (respuesta.usuario && respuesta.usuario.id) {
        pm.environment.set("user_id_activo", respuesta.usuario.id);
        pm.environment.set("user_rol", respuesta.usuario.rol);
    }
    
    console.log(" Token JWT capturado y guardado en {{jwt_token}} con éxito.");
}
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
¿Cuál es la función en JavaScript que permite guardar el token de una respuesta en el entorno de Postman?
🦉
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.

🚀 ¿Quieres dominar Manual de Postman: Pruebas de APIs REST & Automatización y crear proyectos reales?

Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.

🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.