Sobre esta ferramenta
Quando uma chamada de API autenticada falha com 401 ou 403, a primeira pergunta é o que o token realmente diz: para quem foi emitido, para qual audience, com quais roles e se já expirou. Este decodificador divide o token, decodifica o header e o payload em Base64URL e mostra as claims registradas com exp, iat e nbf convertidos em datas e tempos relativos. Ele também sinaliza configurações que merecem um teste de segurança, como alg "none", chaves embutidas ou URLs de chaves remotas. Ele não verifica a assinatura: isso exige o segredo ou a chave pública, e claims decodificadas sozinhas não provam nada.
Como usar
- Cole o token. Um “Bearer ” inicial vindo de um header Authorization é removido automaticamente.
- Confira a expiração no banner de status e depois leia os painéis de header e payload.
- Use a tabela de claims para comparar iss, aud e sub com o que a API espera.
- Revise os avisos, que sugerem testes negativos a rodar contra a sua API.
Perguntas frequentes: Decodificador JWT
É seguro colar um token de produção aqui?
A decodificação acontece inteiramente no navegador e o token nunca é enviado, mas ele fica guardado no armazenamento local deste navegador, por conveniência, até você clicar em Clear. Trate um token ativo como uma senha: prefira ambientes de teste e apague-o quando terminar.
Por que o token aparece como válido aqui mas a API o rejeita?
A expiração é só uma das checagens. O servidor também verifica a assinatura, o issuer, a audience, às vezes o not-before com uma tolerância de diferença de relógio, e se o token foi revogado. Um aud ou iss diferente é causa comum de respostas 401 entre ambientes.
O que devo testar quando vejo alg “none” ou HS256?
Reenvie o token com alg definido como "none" e a assinatura removida, e também com o payload modificado mas a assinatura original mantida. Uma API correta precisa rejeitar os dois. Para HS256, verifique também se o segredo é longo e aleatório, porque segredos HMAC fracos podem ser quebrados por força bruta offline a partir de qualquer token capturado.