Entendendo os JSON Web Tokens com o JWT Decoder
O que este decodificador faz
Um JSON Web Token é formado por três partes codificadas em Base64URL e unidas por pontos: um header, um payload e uma signature. Este decodificador separa a string nesses pontos, converte o header e o payload de volta para JSON legível e exibe o segmento da signature como está. Ele lê o campo alg do header e, em seguida, destaca as claims registradas padrão — sub, iss, aud, jti — junto com as claims de tempo, para que você veja num relance o que o token afirma.
A decodificação acontece assim que você cola um token, sem uma etapa de envio separada. Há também um token de exemplo disponível caso você queira apenas ver como fica uma estrutura decodificada.
Quando usar
Vale a pena sempre que uma requisição autenticada se comporta de forma inesperada e você precisa ver o que o token realmente carrega. Um caso comum é um 401 que você não consegue explicar: cole o token e a linha de status informa na hora se ele expirou, se ainda não é válido ou se continua dentro do período ativo.
Também é útil ao montar um fluxo de login, para confirmar que o issuer, a audience e o subject batem com o que o backend espera, ou para checar se uma claim personalizada que você adicionou no servidor realmente chegou ao payload.
Exemplo: lendo as três partes
Com um token no formato eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.SflKx..., o primeiro segmento é decodificado em um header como {"alg":"HS256","typ":"JWT"}, o segundo em um payload como {"sub":"1234","iat":1700000000,"exp":1700003600} e o terceiro permanece como a signature opaca. O decodificador converte os valores numéricos iat e exp em datas locais e, enquanto o token ainda estiver válido, mostra quanto tempo falta para expirar.
Observações e casos-limite
Decodificar não é verificar. Esta ferramenta nunca confere a signature contra uma chave secreta ou pública, então um token decodificado prova apenas o que ele afirma, não que essas afirmações sejam confiáveis: verifique sempre a signature no servidor com uma biblioteca adequada antes de agir sobre um token. Como o payload está apenas codificado em Base64URL, trate todo o seu conteúdo como legível por qualquer um que tenha o token, pois ele não é criptografado. Pelo mesmo motivo, evite colar tokens de produção reais que não sejam seus, e lembre-se de que exp e nbf são timestamps Unix em segundos — por isso um token aparece como expirado no exato instante em que o exp é ultrapassado.