Decodificar e imprimir o token JWT
Dê uma rápida olhada no conteúdo do token jwt
Aqui estão alguns métodos eficazes para decodificar e imprimir tokens JWT diretamente a partir da linha de comando:
1. Usando jq
A ferramenta jq
pode ser usada para decodificar e formatar tokens JWT de forma legível:
-
Comando:
echo "" | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
Isso divide o JWT em seus componentes (cabeçalho e carga útil), decodifica-os do Base64 e os formata como JSON.
-
Exemplo:
echo "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c" \ | jq -R 'split(".") | .[0:2] | map(@base64d) | map(fromjson)'
2. Script Bash
Um script personalizado de Bash pode decodificar tokens JWT usando base64
e jq
:
-
Script:
#!/usr/bin/env bash function decode_jwt() { IFS='.' read -ra PARTS "
-
Salve este script em um arquivo (por exemplo,
decode_jwt.sh
), torne-o executável (chmod +x decode_jwt.sh
) e execute-o com seu token como argumento.
3. Função Zsh
Adicione a seguinte função ao seu arquivo .zshrc
para acesso rápido:
- Função:
function jwt() { for part in 1 2; do b64="$(cut -f$part -d. "
Esta função decodifica o cabeçalho e a carga útil usando OpenSSL e formata-os com json.tool
do Python.
4. Usando jwt-cli
Instale a ferramenta jwt-cli
para decodificar JWTs de forma fácil:
-
Instalação:
brew tap sgaunet/homebrew-tools brew install sgaunet/tools/jwt-cli
-
Comando:
jwt-cli decode
Esta ferramenta também suporta codificação e assinatura de JWTs[2].
5. Linha de Comando Mínima com OpenSSL
Para uma solução rápida sem ferramentas adicionais:
- Comando:
echo "" | awk -F'.' '{print $1, $2}' | tr ' ' '\n' | base64 -d | python -mjson.tool
Isso usa awk
para dividir o token, base64
para decodificar e Python para formatar a saída.