Cómo decodificar un JWT y revisar su firma
Pega un token JWT con exactamente tres segmentos separados por puntos para ver su encabezado, contenido y firma. La verificación de firma es opcional y requiere solicitarla con un secreto.
Qué puedes hacer con un token JWT
Un token JWT se divide en tres partes separadas por puntos: encabezado, contenido y firma. Esta herramienta permite decodificar esas partes para inspeccionar los datos disponibles y, si lo solicitas, intentar verificar la firma con un secreto proporcionado por ti. La verificación está desactivada de forma predeterminada, así que leer el token y comprobar su firma son acciones distintas.
Cómo decodificar y comprobar un JWT
-
Prepara el token. Copia el token completo como texto, incluidos los dos puntos que separan sus tres segmentos. No envíes un valor vacío ni compuesto solo por espacios, porque el resultado será fallido.
-
Introduce el token. Pégalo en el control destinado al token y solicita la decodificación. El valor debe tener exactamente tres segmentos separados por puntos. Una cantidad distinta no se considera un formato compatible.
-
Revisa la decodificación. La primera y la segunda parte se decodifican con base64url, se interpretan como JSON en UTF-8 y se muestran como encabezado y contenido. La tercera parte se decodifica como datos de firma, mientras también se conserva su texto original.
-
Comprueba los avisos. Si hay un problema de base64url, UTF-8 o JSON en las dos primeras partes, se registra como incidencia y el resultado general no tiene éxito. Una tercera parte no vacía que no pueda decodificarse también genera una incidencia. Una tercera parte vacía no añade una incidencia de firma por este comportamiento.
-
Solicita una verificación solo cuando corresponda. Si activas la verificación, proporciona el secreto necesario. La herramienta intenta comprobar la firma usando el algoritmo indicado en el encabezado y comunica un resultado como firma válida o no válida. Si pides verificar sin aportar un secreto, la verificación se omite y se registra una incidencia.
Cómo interpretar el resultado
Un resultado satisfactorio indica que las partes recibidas han podido procesarse según ese formato; no demuestra por sí solo la autenticidad, la integridad ni la validez del token. Para valorar la firma, necesitas solicitar la verificación y aportar el secreto correspondiente. Si los valores decodificados son objetos, pueden aparecer datos seleccionados como el algoritmo, el tipo de token, el emisor, el sujeto, la audiencia y determinadas marcas de tiempo estándar.
Interpreta las incidencias junto con la parte afectada. Un error en el encabezado o el contenido suele impedir el resultado general satisfactorio, mientras que una firma no válida comunica un resultado distinto durante la verificación. La ausencia de un secreto no equivale a una firma no válida: significa que la comprobación se ha omitido.
Ejemplo práctico
Una persona necesita inspeccionar la estructura de un token JWT y comprobar su firma antes de interpretar sus datos.
En una revisión de un token recibido de un servicio, pega el texto completo de tres segmentos, solicita la decodificación y después pide la verificación aportando el secreto correspondiente.
El resultado muestra un encabezado, un contenido y datos de firma, junto con el estado general y cualquier incidencia registrada. Si se solicita la verificación con un secreto, también aparece su resultado.
Limitaciones
- La decodificación muestra los datos que pueden procesarse del token, pero no prueba por sí sola su autenticidad, integridad ni validez; la verificación de firma es una operación separada y opcional.
Errores frecuentes
- Causa: se pega un valor vacío o un texto con más o menos de tres segmentos separados por puntos. Corrección: comprueba que el token completo contiene exactamente tres partes y vuelve a solicitar la decodificación.
Preguntas frecuentes
¿Qué formato debe tener el JWT?
Debe tener exactamente tres segmentos separados por puntos (encabezado, contenido y firma) y las dos primeras partes deben poder interpretarse correctamente como JSON en UTF-8. Un token vacío o con otro número de segmentos produce un resultado fallido.
¿La herramienta verifica la firma automáticamente?
La verificación está desactivada de forma predeterminada. Si la solicitas con un secreto, se intenta comprobar la firma mediante el algoritmo indicado en el encabezado y se comunica un resultado como válido o no válido.
¿Puedo verificar un JWT sin secreto?
No. Si pides la verificación sin proporcionar un secreto, la comprobación se omite y se registra una incidencia. Decodificar el token no sustituye a la verificación de la firma.