API Docs & Gateway
Especificación técnica integral del API Gateway, autenticación Single Sign-On mediante cookies JWT, inyección de credenciales por proxy y endpoints RESTful disponibles para desarrolladores.
01. Topología del Reverse Proxy Unificado
El Gateway central opera en el Puerto 3000 utilizando Express + TypeScript y el motor http-proxy-middleware. Su responsabilidad es servir de único punto de entrada público, eliminando problemas de CORS inter-dominio y permitiendo que cookies HTTP-only tengan ámbito en todos los micro-frontends.
| Ruta Gateway (:3000) | Destino Upstream | Puerto Interno | Tecnología Upstream | Mecanismo de Auth |
|---|---|---|---|---|
| / | Portal Web Corporativo | :3001 | Laravel 12 Puro (Blade) | Lectura directa de cookie |
| /hunter | Khou Hunter | :3002 | Next.js 14 App Router | Middleware proxy redirect |
| /resume/ | Khou Resume AI | :3003 | Vue 3 + Vite | fetch(/api/auth/me) onMounted |
| /interview/ | Khou Interview Agent | :3004 | Node.js + WebAudio | fetch(/api/auth/me) en auth.js |
| /portfolio/ | Khou Portfolio AI | :3005 | Vue 3 + Three.js | fetch(/api/auth/me) onMounted |
| /reviewer/ | Khou Code Reviewer | :3006 | Angular 18 SPA | Angular AuthGuard |
| /salary/ | Khou Salary Radar | :3007 | React 18 + Vite | useEffect auth verification |
| /wifi/ | Khou WiFi Shield | :3008 | Express.js Puro | checkGatewayAuth() en auth.js |
02. Endpoints Centrales del API Gateway
/api/auth/me
Inspecciona la cookie khou_session o el header Authorization: Bearer <token>. Si el JWT es válido y no ha expirado, retorna los metadatos del usuario. Si es inválido, retorna HTTP 401.
{
"id": "usr_d6bf4f46c60b",
"email": "isakiangel6@gmail.com",
"name": "Miguel Ángel Carlos Rojas",
"plan": "PRO_ENTERPRISE",
"exp": 1788973760
}
/api/auth/magic-link
Genera un token de un solo uso cifrado y envía un correo electrónico al usuario con el enlace de acceso directo al producto solicitado.
// Request Body:
{
"email": "isakiangel6@gmail.com",
"redirectUrl": "/resume/"
}
// Response (200 OK):
{
"success": true,
"message": "Magic link transmitted successfully."
}
/api/auth/logout
Destruye la cookie khou_session configurando Max-Age=0; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT y redirige al usuario a la página de bienvenida (/). Invocado por el botón "CERRAR SESIÓN" en la barra lateral de todos los micro-frontends.
03. Especificación del Token Criptográfico (khou_session)
Tanto el Gateway (Node.js/Express) como el Portal Web (PHP/Laravel) comparten la misma clave secreta definida en AUTH_JWT_SECRET y siguen el estándar RFC 7519:
{"typ": "JWT", "alg": "HS256"}
{"id": "usr_9938573", "email": "dev@khou.ai", "name": "Lead Architect", "plan": "PRO_ENTERPRISE", "exp": 1788973760}
HMAC-SHA256(Header + "." + Payload, AUTH_JWT_SECRET)
Cuando el Gateway intercepta una petición hacia los microservicios, desempaqueta el token e inyecta las cabeceras x-user-id, x-user-email y x-user-plan, permitiendo que los microservicios conozcan al usuario sin tener que re-validar criptografía en cada frame.