Aprenda a ler header e payload de um JSON Web Token e entenda por que decodificar não verifica assinatura, autenticidade nem autorização.
Resumo: este guia explica o conceito, mostra como interpretar o resultado e aponta os limites da ferramenta antes de você aplicá-la em conteúdo real.
As três partes de um JWT
Um JWT assinado costuma aparecer como header.payload.signature, com partes codificadas em Base64url. Header e payload carregam JSON; a assinatura é usada para verificação conforme o algoritmo.
Decodificar não é verificar
Qualquer pessoa que receba o token pode, em geral, decodificar header e payload. Isso não prova que os dados foram emitidos por uma fonte confiável.
Claims comuns
exp indica expiração, iat o instante de emissão, iss o emissor e aud a audiência. Aplicações precisam validar os claims relevantes segundo sua política.
Assinatura exige chave e algoritmo
Para confiar no token, o sistema precisa verificar a assinatura com a chave adequada e restringir algoritmos aceitos. Um decoder visual normalmente não faz essa validação.
Não coloque segredo no payload
JWT assinado não é necessariamente criptografado. Se o token é apenas JWS, os dados do payload podem ser lidos por quem tiver acesso à string.
Exemplo prático
Você pode decodificar um token e ver {"role":"admin"}. Isso não significa que o usuário é administrador; sem verificar assinatura, emissor, audiência e validade, o conteúdo não é confiável.
Erros comuns e como evitar
- tratar payload decodificado como autêntico.
- colar tokens reais sensíveis em serviços desnecessários.
- ignorar exp, iss e aud.
- aceitar qualquer algoritmo informado pelo próprio token.
Revise a documentação do sistema de destino e valide o resultado antes de publicar ou automatizar uma rotina.
Leitura relacionada
Dúvidas frequentes
Decodificar JWT valida a assinatura?
Não. Ler header e payload é diferente de verificar a assinatura.
O payload é secreto?
Não em um JWT apenas assinado. Base64url é codificação, não criptografia.
Posso confiar no campo exp sozinho?
Não. Validação envolve assinatura e outros claims relevantes ao sistema.
Fontes e referências
Documentação técnica e referências usadas para aprofundar este guia: