JWT Decodificador/

Tus datos son 100% privados: JWT se decodifica y codifica directamente en tu dispositivo.

JWT
Encabezado decodificado
Carga útil decodificada
Clave pública

Aprender sobre JWT

Toda la información que te interesa sobre JWT y guía paso a paso para verificar JWT en diferentes marcos.

¿Qué es JWT?

JWT (JSON Web Token) es un token autónomo y sin estado que lleva información en un formato estructurado y legible. Ya sea que estés protegiendo una API o adoptando autenticación basada en tokens para tu aplicación, los JWT son una herramienta poderosa, porque:

  • Sin estado: Los JWT son autónomos y no requieren un estado en el servidor para validar. JWT puede asegurar la integridad de los datos mediante firmas.
  • Compatibilidad entre servicios: Los JWT pueden ser fácilmente compartidos y verificados entre diferentes servicios.
  • Extensible: La carga útil de un JWT puede contener afirmaciones personalizadas, permitiendo una autorización flexible y compartición de información.
Aprender más

La estructura del JWT

Un JWT típico se divide en tres partes, cada una codificada en Base64URL y separada por puntos (.)

  • Encabezado - Contiene metadatos, como el algoritmo de firma (por ejemplo, HS256 o RS256) y el tipo de token (JWT).
  • Carga útil - Contiene los datos reales, como el ID de usuario, el perfil de usuario, la hora de expiración o los alcances.
  • Firma - Una combinación cifrada del encabezado, la carga útil, y asegurada usando una clave secreta. Su propósito es garantizar la integridad del token y confirmar que no ha sido alterado.

Esta estructura permite que los JWT proporcionen una forma compacta y segura de transmitir información entre partes.

jwt_structure

Afirmaciones comunes en tokens JWT

Las afirmaciones son parte de la carga útil y contienen la información clave. Aquí están algunas Reivindicaciones Registradas estandarizadas para tu referencia:

AfirmacionesNombre completoDescripción
issEmisorLa entidad que emitió el JWT, como el servidor de autorización.
subSujetoIdentifica el sujeto del JWT, que típicamente representa al usuario autenticado.
audAudienciaEspecifica qué recipientes pueden aceptar y procesar el token. Esto puede ser un conjunto de valores para múltiples audiencias o un solo valor para un solo destinatario.
expHora de ExpiraciónEstablece un tiempo de expiración en el token después del cual se vuelve inválido. Esto ayuda a prevenir ataques de repetición al limitar cuánto tiempo sigue siendo válido un token.
nbfNo AntesHaz que un token sea válido solo después de esta marca de tiempo. Útil en situaciones donde los relojes no son accesibles.
iatEmitido enCuando se creó el token. Esto se puede usar para determinar la edad del token.
jtiID del JWTUn identificador único para el token, útil para prevenir que el mismo token se use varias veces (por ejemplo, en ataques de repetición).

Dependiendo de la especificación y la configuración del servidor de autorización, se pueden incluir afirmaciones adicionales en la carga útil para soportar casos de uso específicos. También puedes agregar afirmaciones personalizadas a JWT para satisfacer requisitos de negocio específicos.

Precaución: No almacenes información privada o sensible en afirmaciones de JWT. Aunque las afirmaciones de JWT están codificadas (usando Base64URL), no están encriptadas. Esto significa que cualquier persona con el token puede decodificarlo y ver las afirmaciones, incluso si no puede alterarlo sin invalidar la firma. Utiliza cifrado u otros métodos seguros para proteger datos sensibles cuando sea necesario.

¿Cuándo usar JWT?

Los JWT pueden ser particularmente beneficiosos en los siguientes escenarios:

  1. Arquitectura de microservicios: Para autenticación sin estado entre múltiples servicios.
  2. Sistemas de inicio de sesión único (SSO): Habilitando el acceso a múltiples aplicaciones con una sola autenticación.
  3. Aplicaciones móviles: Manteniendo las sesiones de usuario de manera eficiente a través de llamadas API.
  4. Aplicaciones de alto tráfico: Reduciendo la carga de la base de datos en entornos de alto volumen.
  5. Intercambio de recursos entre orígenes (CORS): Simplificando la autenticación a través de múltiples dominios.
  6. Arquitecturas sin servidor: Proporcionando autenticación sin estado donde las sesiones del lado del servidor son difíciles.
Aprender más

¿Cómo verificar un JWT?

La integridad de un JWT debe ser verificada para asegurarse de que su encabezado y carga útil no han sido manipulados. A continuación, se presentan ejemplos paso a paso para verificar JWT en entornos de programación populares:

Temas relacionados con JWT

Toda la información que te interesa sobre JWT y guía paso a paso para verificar JWT en diferentes marcos.

Desbloquea más con Logto Cloud

Simplifica tu flujo de trabajo y asegura la gestión de usuarios con Logto Cloud. Basado en OpenID Connect (OIDC), aprovecha JWT para ofrecer un sistema fiable de autenticación y autorización diseñado para escalar según tus necesidades.