nicetool.dev logo

¿Qué es JWT?

JSON Web Token (JWT) es un estándar abierto (RFC 7519) que define una forma compacta y autónoma de transmitir información de forma segura entre partes como un objeto JSON. Esta información puede ser verificada y confiable porque está firmada digitalmente.

Estructura de JWT

Los JWT son cadenas compuestas por tres partes codificadas en Base64URL: el Encabezado (Algoritmo y Tipo), la Carga Útil (Datos/Reclamaciones) y la Firma.

header.payload.signature

Casos de uso comunes

  • Autorización: El escenario más común. Una vez que el usuario inicia sesión, cada solicitud posterior incluirá el JWT, permitiendo al usuario acceder a rutas, servicios y recursos.
  • Intercambio de información: Los JWT son una buena forma de verificar credenciales válidas entre partes.
  • Sesiones sin estado: No es necesario mantener datos de sesión en el servidor; el token contiene toda la información de usuario necesaria.

Privacidad y Seguridad

Tu seguridad es nuestra prioridad. Toda la lógica de decodificación y verificación de JWT ocurre en el lado del cliente en el JavaScript de tu navegador. No se envían tokens, cabeceras o cargas útiles a nuestros servidores.

100% basado en el navegador

Cómo usar: Depurador JWT

  1. 1

    Pega un token (empieza por eyJ) en el campo Encoded. La cabecera y el payload se decodifican al instante y se muestran como JSON formateado.

  2. 2

    Revisa los claims estándar. Tiempos como exp, iat y nbf se muestran como fechas legibles, así ves enseguida si el token ha caducado o aún no es válido.

  3. 3

    Para verificar la firma, introduce el secreto HMAC (HS256/384/512) o la clave pública en PEM (RS256/384/512, ES256/384/512). La herramienta indica si la firma coincide.

  4. 4

    Cambia al modo Generator para crear un token de prueba: edita el payload, elige el algoritmo, introduce un secreto o clave privada y copia el JWT firmado.

Ejemplos prácticos

Depurar errores 401

Una API rechaza tu petición con 401 Unauthorized. Decodifica el token para encontrar un exp caducado, un aud incorrecto o un claim scope que falta.

Revisar tokens de proveedores de identidad

Inspecciona ID tokens de Auth0, Keycloak, Firebase o Azure AD para ver qué claims (email, roles, groups) recibe realmente tu aplicación.

Probar control de acceso por roles

Genera tokens con role "admin" y role "viewer" firmados con tu secreto de desarrollo para probar ambas ramas de una comprobación de permisos.

Verificar la rotación de claves

Tras rotar claves, pega un token nuevo y la nueva clave pública para confirmar que el kid de la cabecera y la firma corresponden a la nueva clave.

Preguntas frecuentes

¿Un JWT está cifrado?+

Normalmente no. Un JWT estándar (JWS) solo está codificado en Base64URL y firmado. Cualquiera puede leer el payload, así que nunca pongas contraseñas ni datos personales sensibles. Los tokens cifrados (JWE) son otro formato.

¿Qué significan las tres partes?+

header.payload.signature: la cabecera indica algoritmo y tipo, el payload contiene los claims y la firma demuestra que las dos primeras partes las creó quien tiene la clave y no se modificaron.

¿Es seguro pegar un token de producción?+

La decodificación y verificación se hacen por completo en tu navegador y no se envía nada a nuestro servidor. Aun así, un token válido funciona como una contraseña hasta que caduca; usa tokens de prueba o revoca los reales tras depurar.

¿HS256 o RS256?+

HS256 usa un único secreto compartido para firmar y verificar, sencillo con un solo servicio. RS256 y ES256 firman con clave privada y verifican con clave pública, ideal cuando muchos servicios verifican tokens de una autoridad central.