Você pega um JWT de um cabeçalho de requisição ou de um arquivo de log. É uma string longa, separada por pontos, que não significa nada para o olho humano. Você precisa verificar a claim de expiração, validar o emissor ou ver quais escopos estão embutidos. Então você abre o jwt.io, cola o token e lê o payload decodificado no painel da direita.
Esse fluxo de trabalho tem um problema: você acabou de enviar um token de autenticação ativo pela rede para um site que você não controla. Os payloads de JWT costumam conter IDs de usuário, endereços de e-mail, funções e permissões. O próprio token ainda pode estar válido. Mesmo que o jwt.io seja confiável, a política de segurança da sua empresa pode discordar.
O Que um JWT Realmente Contém
Um JSON Web Token tem três partes separadas por pontos: um cabeçalho (algoritmo e tipo), um payload (as claims — expiração, emissor, assunto, dados personalizados) e uma assinatura. O cabeçalho e o payload são apenas JSON codificado em Base64url. Você não precisa de um servidor ou de uma biblioteca especial para lê-los — precisa de um decodificador Base64 e de um formatador de JSON. Mas fazer isso manualmente no Terminal toda vez é tedioso.
Decodifique JWTs Localmente no Seu Mac
Bellows inclui um decodificador de JWT dedicado que divide o token em suas três partes e exibe o cabeçalho e o payload decodificados como JSON formatado. Cole o token, veja as claims. Sem requisição de rede, sem servidor de terceiros, sem risco de vazar um token ativo.
Consciente da Área de Transferência
Copie um JWT das ferramentas de desenvolvedor do seu navegador, de um arquivo de log ou de uma mensagem do Slack. Abra o Bellows e ele detecta o formato do token na sua área de transferência, sugerindo imediatamente o decodificador de JWT. O payload decodificado aparece em uma única etapa.
Verifique a Expiração de Relance
O motivo mais comum para decodificar um JWT é verificar se ele expirou. A claim exp é um timestamp Unix — fácil para máquinas, sem sentido para humanos. Ver o payload decodificado permite ler a expiração rapidamente junto com outras claims como iss, sub e aud, sem converter timestamps mentalmente.
Parte de um Kit de Ferramentas Maior
A decodificação de JWT costuma levar a tarefas relacionadas: decodificar um valor Base64 dentro de uma claim, gerar hash de uma string para comparar com uma impressão digital, ou decodificar uma URL de redirecionamento armazenada no payload. Com 41 ferramentas disponíveis no mesmo app, essas tarefas subsequentes não exigem trocar de utilitário.