Un JSON Web Token (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y segura de transmitir información entre partes como un objeto JSON. Esta información puede ser verificada y confiable porque está firmada digitalmente. Los JWTs constan de tres partes separadas por puntos: un encabezado (Header), un cuerpo (Payload) y una firma (Signature). El encabezado especifica el tipo de token (JWT) y el algoritmo de firma utilizado (ej. HMAC SHA256 o RSA). El payload contiene las 'claims' o declaraciones sobre una entidad (normalmente el usuario) y metadatos adicionales. La firma se utiliza para verificar que el remitente del JWT es quien dice ser y para asegurar que el mensaje no ha sido alterado en el camino.

Los JWTs son ampliamente adoptados en el mundo real para la autenticación y autorización en sistemas distribuidos y microservicios. Son la base de la autenticación en muchos frameworks de desarrollo web y APIs RESTful, como en aplicaciones construidas con Node.js (Express), Python (Django/Flask), Java (Spring Security) y .NET. Plataformas de identidad como Auth0, Okta y Firebase utilizan JWTs para emitir tokens de acceso. También son fundamentales en protocolos como OAuth 2.0 y OpenID Connect, donde se usan para representar tokens de acceso o tokens de identidad, respectivamente, permitiendo a los clientes acceder a recursos protegidos o verificar la identidad de un usuario.

Para un arquitecto, los JWTs ofrecen un valor estratégico significativo al simplificar la gestión de sesiones y la autenticación sin estado (stateless authentication), lo cual es crucial para la escalabilidad horizontal de microservicios. Al ser autocontenidos, eliminan la necesidad de consultas a bases de datos de sesión en cada solicitud, reduciendo la latencia y la carga en los servicios de backend. Sin embargo, presentan trade-offs importantes: la revocación de JWTs de corta duración puede ser compleja (requiriendo listas negras o mecanismos de 'refresh tokens'), y la exposición de un JWT puede comprometer la seguridad hasta su expiración. La elección del algoritmo de firma y la gestión segura de las claves secretas son críticas. Un diseño cuidadoso debe considerar la duración del token, el uso de 'refresh tokens' para una mejor gestión de la revocación y la protección contra ataques como la repetición de tokens (replay attacks) mediante el uso de 'nonces' o 'jti' (JWT ID).