En arquitecturas modernas de microservicios sin estado y protocolos OAuth 2.0 / OpenID Connect, los JSON Web Tokens (JWT) constituyen el estándar (RFC 7519) para transmitir identidades y autorizaciones de forma segura entre clientes y servidores.
1. Anatomía del Token en 3 Partes
Una cadena JWT se compone de tres secciones codificadas en Base64URL separadas por puntos (.):
2. Reivindicaciones Registradas Estándar (iss, exp, sub)
iss(Issuer): Entidad que generó y emitió el token.sub(Subject): Identificador único del usuario o entidad.exp(Expiration Time): Marca de tiempo Unix tras la cual el token queda invalidado.iat(Issued At): Momento en el que se emitió el token.
3. Firma Simétrica (HS256) vs Asimétrica (RS256)
HS256 (HMAC-SHA256) emplea una clave secreta compartida entre emisor y receptor. Por su parte, RS256 (RSA-SHA256) firma con clave privada y valida mediante clave pública (JWKS), permitiendo comprobar la integridad del token sin riesgo de filtración de claves de emisión.
4. Errores Críticos de Seguridad y Vulnerabilidades
Las vulnerabilidades más graves incluyen admitir el encabezado "alg": "none", almacenar tokens de acceso en localStorage (vulnerable a XSS) y omitir la verificación criptográfica de la firma.