Decodificar e imprimir el token JWT
Echa un vistazo rápido al interior de un token JWT.
Aquí hay algunos métodos efectivos para decodificar e imprimir tokens JWT directamente desde la línea de comandos:
Esta guía forma parte del clúster Herramientas para desarrolladores: La guía completa de flujos de trabajo modernos.

1. Usando jq
La herramienta jq puede utilizarse para decodificar e imprimir tokens JWT de forma legible:
-
Comando:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'Este comando divide el JWT en sus componentes (cabecera y carga útil), los decodifica desde Base64 y los formatea como JSON. Para más detalles sobre operaciones Base64, consulte Codificación - decodificación Base64 en Windows, Linux y Mac.
-
Ejemplo:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Script de Bash
Un script de Bash personalizado puede decodificar tokens JWT utilizando base64 y jq:
-
Script:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS " -
Guarde este script en un archivo (por ejemplo,
decode_jwt.sh), hágalo ejecutable (chmod +x decode_jwt.sh) y ejecútelo con su token como argumento.
3. Función de Zsh
Agregue la siguiente función a su archivo .zshrc para un acceso rápido:
- Función:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Esto decodifica la cabecera y la carga útil utilizando OpenSSL y los formatea con json.tool de Python.
4. Usando jwt-cli
Instale la herramienta jwt-cli para decodificar JWTs fácilmente:
-
Instalación:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli -
Comando:
jwt-cli decode
Esta herramienta también admite la codificación y firma de JWTs[2].
5. Solución minimalista en una línea con OpenSSL
Para una solución rápida sin herramientas adicionales:
- Comando:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Esto utiliza awk para dividir el token, base64 para decodificar y Python para formatear la salida.