·4 min de lectura

Decodificador de JWT para Mac — Pega e inspecciona

Pegar JWTs en jwt.io para leer sus claims funciona hasta que te das cuenta de que acabas de enviar un token válido a un sitio web de terceros.

Tomas un JWT de una cabecera de petición o de un archivo de log. Es una cadena larga separada por puntos que no significa nada a simple vista. Necesitas comprobar el claim de expiración, verificar el emisor o ver qué scopes están incluidos. Así que abres jwt.io, pegas el token y lees el payload decodificado en el panel derecho.

Este flujo de trabajo tiene un problema: acabas de enviar un token de autenticación activo a través de la red a un sitio web que no controlas. Los payloads de JWT suelen contener IDs de usuario, direcciones de correo, roles y permisos. El token en sí puede seguir siendo válido. Incluso si jwt.io es de confianza, la política de seguridad de tu empresa podría no estar de acuerdo.

Qué contiene realmente un JWT

Un JSON Web Token tiene tres partes separadas por puntos: una cabecera (algoritmo y tipo), un payload (los claims — expiración, emisor, sujeto, datos personalizados) y una firma. La cabecera y el payload son simplemente JSON codificado en Base64url. No necesitas un servidor ni una librería especial para leerlos — solo necesitas un decodificador Base64 y un formateador JSON. Pero hacer esto manualmente en Terminal cada vez es tedioso.

Decodifica JWTs localmente en tu Mac

Bellows incluye un decodificador de JWT dedicado que separa el token en sus tres partes y muestra la cabecera y el payload decodificados como JSON formateado. Pega el token y ve los claims. Sin peticiones de red, sin servidor de terceros, sin riesgo de filtrar un token activo.

Decodificador de JWT de Bellows mostrando la cabecera y el payload decodificados en macOS

Consciente del portapapeles

Copia un JWT desde las herramientas de desarrollo de tu navegador, un archivo de log o un mensaje de Slack. Abre Bellows y detecta el formato del token en tu portapapeles, sugiriendo el decodificador de JWT de inmediato. El payload decodificado aparece en un solo paso.

Comprueba la expiración de un vistazo

La razón más común para decodificar un JWT es comprobar si ha expirado. El claim exp es un timestamp Unix — fácil para las máquinas, sin sentido para los humanos. Ver el payload decodificado te permite leer rápidamente la expiración junto con otros claims como iss, sub y aud sin convertir timestamps de cabeza.

Parte de un kit de herramientas más amplio

La decodificación de JWT a menudo lleva a tareas relacionadas: decodificar un valor Base64 dentro de un claim, hashear una cadena para compararla con una huella digital, o decodificar una URI de redirección almacenada en el payload. Con 41 herramientas disponibles en la misma app, estas tareas de seguimiento no requieren cambiar a otra utilidad.

Obtén Bellows en la Mac App Store

Siguiente artículo

Bellows

41 developer tools in one native Mac app — JSON, JWT, Base64, hashes, and more.

Get Bellows on the Mac App Store