Decodificador JWT
Decodifique o cabeçalho e a carga útil de um Token JSON Web (sem verificação de assinatura)
O que é um JWT?
Um Token JSON Web é composto por três partes codificadas em Base64URL separadas por pontos: um cabeçalho (que algoritmo é usado), uma carga útil (os claims — tipicamente ID do utilizador, expiração, escopos) e uma assinatura. O cabeçalho e a carga útil NÃO são criptografados, apenas codificados — qualquer um com o token pode lê-los. A assinatura prova que o token não foi adulterado.
O decodificador divide as três partes, decodifica as duas primeiras em Base64URL e formata o JSON. Ele NÃO verifica a assinatura — isso requer a chave secreta ou pública do servidor emissor. Não cole tokens de produção em decodificadores não confiáveis; este é apenas para navegador e nunca faz upload, mas como hábito, use tokens do seu próprio ambiente de desenvolvimento para testes.
Casos de uso
- Auditar um JWT de terceiros — cole um cabeçalho de Autorização para ler o cabeçalho e a carga útil sem confiar em um depurador remoto.
- Depurar falhas de autenticação — verifique se os claims exp / iat / aud correspondem ao que seu backend espera quando um 401 ocorre em desenvolvimento.
- Inspecionar tokens OAuth / OIDC — decodifique um token de acesso ou id retornado pelo Google, Auth0 ou Okta para ver os claims do utilizador.
- Ensinar a estrutura do JWT — mostre aos alunos os três segmentos em Base64 e como a assinatura protege, mas não criptografa a carga útil.
Exemplos
eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiJ1c2VyXzEiLCJleHAiOjE3MDAwMDAwMDB9.signatureHeader:
{"alg": "HS256"}
Payload:
{"sub": "user_1", "exp": 1700000000}Perguntas frequentes
O decodificador verifica a assinatura?
Não — a verificação requer a chave secreta (HS256) ou a chave pública (RS256) usada para assinar o token. O decodificador apenas mostra o que está dentro; a confiança vem da verificação do lado do servidor.
Os conteúdos do JWT são criptografados?
Não, apenas codificados em Base64. Qualquer um com o token pode ler os claims. Use JWE (JWTs criptografados) se os claims precisarem ser confidenciais.
O que significa o claim `exp`?
Timestamp Unix em que o token expira. Tokens além do seu `exp` devem ser rejeitados pelo servidor. O decodificador sinaliza tokens expirados para você.
Posso decodificar um token malformado?
Se uma parte falhar ao decodificar em Base64 ou analisar como JSON, o decodificador mostra um erro apontando para a parte problemática.
Meu token é enviado?
Não. A decodificação é pura JavaScript — seu token permanece no seu dispositivo.
