Tema 10 · Seguridad & Auth

Métodos de Autenticación: API Key, Basic Auth y Bearer Token (JWT)

Aprende a configurar los esquemas de autenticación más usados en la industria: Bearer Tokens JWT, API Keys en cabeceras y flujo OAuth 2.0 en Postman.

La Pestaña "Authorization" en Postman

La inmensa mayoría de las APIs en producción exigen que el cliente demuestre su identidad antes de permitir el acceso a endpoints protegidos.

En lugar de codificar manualmente cabeceras complejas, Postman incluye en su pestaña Authorization un catálogo completo de los estándares de seguridad web más populares.

Los 4 Métodos de Autenticación Esenciales

Método en Postman Cómo Viaja por la Red Uso Habitual en la Industria
Bearer Token (JWT) Cabecera: Authorization: Bearer <token> El Estándar Absoluto. Empleado en el 90% de aplicaciones modernas (SPA con React/Vue, apps móviles, microservicios) mediante JSON Web Tokens firmados criptográficamente.
API Key Cabecera (ej. X-API-Key: mi_llave) o parámetro URL (?api_key=...) Común en servicios SaaS y pasarelas de pago externas (OpenAI, Stripe, SendGrid, Weather APIs).
Basic Auth Cabecera: Authorization: Basic <Base64(usuario:clave)> Sistemas heredados, servicios SOAP o entornos internos de desarrollo protegidos por el servidor web.
OAuth 2.0 Intercambio de tokens con proveedores (Google, GitHub, Auth0) Inicios de sesión social y delegación de permisos entre plataformas de terceros.

Cómo Configurar un Bearer Token JWT en Postman

  1. Ve a la pestaña Authorization de tu petición o de tu colección.
  2. En el menú desplegable Type, selecciona: Bearer Token.
  3. En el campo Token, escribe tu variable de entorno: {{jwt_token}} (o pega el token directamente para una prueba rápida).
  4. Al pulsar Send, Postman generará e inyectará automáticamente la cabecera HTTP:
    Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkw...

⚡ Validación de Cabecera Bearer Token en Backend PHP

Cómo extrae el servidor la cabecera Authorization inyectada por Postman:

validar-bearer-jwt.php
Solo lectura
<?php
// Obtener todas las cabeceras HTTP de la petición entrante
$headers = getallheaders();
$authHeader = $headers['Authorization'] ?? $headers['authorization'] ?? '';

// Verificar formato obligatorio 'Bearer <token>'
if (!preg_match('/^Bearer\s+(.*?)$/i', $authHeader, $coincidencias)) {
    http_response_code(401);
    echo json_encode(['error' => 'Acceso no autorizado. Falta cabecera Authorization: Bearer <token>']);
    exit;
}

$jwt = $coincidencias[1];

// Validar firma del token (ejemplo con Firebase/JWT)
try {
    // Si la firma es correcta, permitimos el paso a los datos privados
    echo json_encode([
        'success' => true,
        'mensaje' => 'Token verificado exitosamente',
        'usuario_id' => 42
    ]);
} catch (\Exception $e) {
    http_response_code(401);
    echo json_encode(['error' => 'Token JWT expirado o firma inválida']);
}
🧠
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección
1 Pregunta
Pregunta 1
¿En qué formato viaja un Bearer Token dentro del protocolo HTTP cuando lo configuras en la pestaña Authorization 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.