Domina Cursor, el editor de código con IA que multiplica tu productividad como desarrollador.

0 de 35 lecciones completas (0%)

PROYECTO: TIENDA DE LIBROS ELECTRÓNICOS FULL STACK

Pruebas de Endpoints y corrección del middleware de autenticación

Introducción

En esta lección aprenderemos a probar nuestros endpoints de API utilizando Postman junto con Cursor AI para resolver errores de manera eficiente.

Opciones para Testing de Endpoints

Para probar nuestros endpoints tenemos varias opciones:

  1. Postman (aplicación independiente) – Recomendado
  2. Thunder Client (extensión para el editor)

Preferimos usar Postman como aplicación independiente por su robustez y facilidades.

Configuración Inicial de Postman

Instalación y Setup

  1. Busca «Postman» en tu navegador
  2. Descarga e instala la aplicación
  3. Inicia sesión en tu cuenta
  4. Asegúrate de tener un workspace configurado

Creando la Estructura de Trabajo

  1. Crear una Colección:
    • Nombre: «ebook» (o el nombre de tu proyecto)
  2. Crear Sub-colecciones:
    • Carpeta: «Authentication» (para rutas de autenticación)
    • Agregar requests específicos (ej: «Register»)

Obtener Endpoints con Cursor AI

Paso 1: Solicitar Información de Rutas

  1. Abre la ventana de chat en Cursor AI
  2. Agrega los archivos relevantes:
    • Archivo de rutas (auth.route.js)
    • Archivo del servidor principal
  3. Solicita: «Proporciona todos los endpoints completos para cada ruta»

Ejemplo de Respuesta de Cursor AI:

POST http://localhost:3000/api/auth/register
POST http://localhost:3000/api/auth/login  
GET http://localhost:3000/api/auth/profile

Testing del Endpoint de Registro

Configuración en Postman

  1. Método: POST
  2. URL: http://localhost:3000/api/auth/register
  3. Body:
    • Tipo: Raw
    • Formato: JSON

Obtener Datos de Prueba

Para no adivinar qué propiedades necesitamos, preguntamos a Cursor AI:

Prompt: «Proporciona datos de ejemplo para registro de usuario en Postman basado en el modelo de usuario»

Agrega al chat:

  • Archivo del modelo de usuario
  • Archivo del servidor (si es necesario)

Ejemplo de Datos de Registro:

json{
  "name": "Juan Pérez",
  "email": "juan@ejemplo.com",
  "password": "password123"
}

Resolución de Errores Comunes

Error: «Secret key or private key must be provided»

Causa: Falta la clave secreta para JWT en las variables de entorno.

Solución con Cursor AI:

  1. Copia el error completo
  2. Abre Composer en Cursor AI
  3. Pega el error y explica el contexto
  4. Cursor AI creará/modificará:
    • Archivo .env con variables necesarias
    • Configuración de dependencias en package.json
    • Importación de variables de entorno en el servidor

Configuración de Variables de Entorno

envJWT_SECRET=tu_clave_secreta_aqui_123456789

Instalación de dependencias faltantes:

bashnpm install dotenv

Testing del Endpoint de Login

Configuración

  1. Método: POST
  2. URL: http://localhost:3000/api/auth/login
  3. Body (JSON):
json{
  "email": "juan@ejemplo.com",
  "password": "password123"
}

Validación de Respuesta

  • Login exitoso: Retorna token JWT
  • Credenciales inválidas: Mensaje de error apropiado

Testing de Endpoints Protegidos

Endpoint: Get Profile

  1. Método: GET
  2. URL: http://localhost:3000/api/auth/profile
  3. Headers requeridos:
    • Authorization: Bearer [tu_token_jwt]

Proceso:

  1. Hacer login para obtener el token
  2. Copiar el token de la respuesta
  3. Agregarlo en Headers como Authorization: Bearer [token]

Debugging de Errores de Autorización

Error Común: «No token, authorization denied»

Diagnóstico paso a paso:

  1. Verificar formato del header:
    • ✅ Correcto: Authorization: Bearer [token]
    • ❌ Incorrecto: x-auth-token: [token]
  2. Debug en el middleware:
javascript// Agregar logs para debugging
console.log('Headers:', req.headers);
console.log('Token:', token);
  1. Usar Cursor AI para corregir:
    • Describe el problema específico
    • Menciona cómo estás enviando el token
    • Cursor AI ajustará el middleware de autenticación

Solución Típica – Middleware de Autenticación:

javascript// Extraer token del header Authorization
const authHeader = req.header('Authorization');
const token = authHeader && authHeader.startsWith('Bearer ') 
  ? authHeader.slice(7) 
  : null;

Visualización de Datos con MongoDB Extension

Instalación y Configuración

  1. Instalar extensión «MongoDB» en tu editor
  2. Configurar conexión a tu base de datos
  3. Navegar: baseDatos > colección > documentos

Verificar Registros:

  • Confirmar que los usuarios se crean correctamente
  • Validar estructura de datos
  • Limpiar datos de prueba si es necesario

Mejores Prácticas para Debugging

1. Debugging Sistemático

  • Identificar la línea exacta del error
  • Usar logs estratégicos para rastrear el flujo
  • Verificar cada paso del proceso de autenticación

2. Uso Efectivo de Cursor AI

  • Proporcionar contexto completo del error
  • Incluir archivos relevantes en el chat
  • Describir exactamente qué estás intentando hacer

3. Manejo de Tokens

  • Verificar formato correcto en headers
  • Confirmar que el token se está extrayendo correctamente
  • Validar que el usuario existe en la base de datos

Estructura de Archivos de Referencia

Mantén un archivo endpoints.md con todos tus endpoints documentados:

markdown## Authentication Routes
- POST /api/auth/register - Registro de usuario
- POST /api/auth/login - Inicio de sesión  
- GET /api/auth/profile - Obtener perfil (protegido)
- PUT /api/auth/profile - Actualizar perfil (protegido)

Conclusión

El proceso de testing de endpoints se vuelve mucho más eficiente cuando:

  1. Usas Cursor AI para generar endpoints y datos de prueba
  2. Implementas debugging sistemático con logs estratégicos
  3. Aprovechas las capacidades de AI para resolver errores rápidamente
  4. Mantienes una estructura organizada en Postman y documentación

Recuerda: «La idea detrás de lo que estás construyendo importa mucho», pero tener las herramientas adecuadas y saber usarlas eficientemente hace la diferencia en el desarrollo.

Próximos Pasos

En la siguiente lección exploraremos:

  • Testing de endpoints más complejos
  • Manejo de archivos y uploads
  • Validación de datos avanzada
  • Automatización de tests
Resumen de privacidad
Logo JeroCuevas.com

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible. La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudar a nuestro equipo a comprender qué secciones de la web encuentras más interesantes y útiles.

Cookies de terceros

Esta web utiliza Google Analytics para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

Dejar esta cookie activa nos permite mejorar nuestra web.