¿Qué es un token JWT?
Estándar abierto (RFC 7519) para transmitir afirmaciones de identidad de forma compacta y autónoma entre partes, firmado digitalmente mediante HMAC o RSA.
Micro-Soluciones Tecnológicas
Pega, decodifica, audita, verifica y hasta genera JSON Web Tokens — sin que salgan de tu navegador.
Estructura Base64Url, claims estándar, algoritmos de firma y seguridad stateless.
Un JWT se compone de 3 cadenas codificadas en Base64Url separadas por puntos. El Header especifica el algoritmo, el Payload contiene los claims de identidad y la Firma garantiza que los datos no fueron alterados en tránsito.
HMAC (HS256) comparte un único secreto entre emisor y receptor. En arquitecturas de microservicios, se prefieren claves asimétricas RSA/ECDSA (RS256/ES256) donde solo el Auth Server firma con llave privada y los servicios verifican con llave pública.
El RFC 7519 define timestamps en segundos UNIX para `exp` (expiración obligatoria), `iat` (emitido en), y `nbf` (no válido antes de), además de `iss` (emisor confiable) y `aud` (audiencia o cliente previsto).
Los Access Tokens JWT deben expirar rápido (5 a 15 min) para minimizar ventanas de riesgo si son interceptados. Para renovar sesión sin pedir login al usuario, se utiliza un Refresh Token persistente almacenado en cookie `HttpOnly`.
Diagnóstico y soluciones técnicas para tokens vencidos, firmas inválidas y vulnerabilidades.
La pronunciación oficial 'jot', el límite de 4KB y la paradoja de revocación stateless.
En la sección 1 del RFC 7519, los autores estipularon explícitamente: 'The suggested pronunciation of JWT is the same as the English word *jot*'. Sin embargo, en la comunidad de habla hispana es común deletrear J-W-T.
Muchos servidores web (como Nginx o Apache) tienen límites por defecto de 4KB a 8KB para el tamaño total de los encabezados HTTP. Colocar demasiados permisos o datos en el Payload de un JWT puede provocar errores `431 Request Header Fields Too Large`.
Como el JWT es autocontenido y el servidor no consulta la base de datos para verificarlo, una vez firmado es válido hasta que expire su `exp`. Para revocarlo antes, los sistemas deben recurrir a Redis o listas negras, perdiendo la ventaja stateless.
JWT es parte de la suite JOSE (Javascript Object Signing and Encryption) del IETF, que incluye JWS (firmas digitales), JWE (cifrado de payload), JWK (representación de llaves en JSON) y JWA (algoritmos criptográficos).
Aprende los conceptos fundamentales, protocolos y términos técnicos de esta herramienta.
Estándar abierto (RFC 7519) para transmitir afirmaciones de identidad de forma compacta y autónoma entre partes, firmado digitalmente mediante HMAC o RSA.
Pares de clave-valor contenidos en el cuerpo (Payload) que describen la identidad del usuario y metadatos del token (ej. `sub` para usuario, `exp` para expiración).
Hash calculado uniendo el Header y Payload con una clave secreta. Si alguien altera un solo carácter del cuerpo, la firma queda invalidada al instante.
Marca de tiempo en segundos en formato Unix Epoch que determina el momento exacto a partir del cual el token pierde validez y debe renovarse.