Início › Guias › Dados & Programação
Dados & Programação

Como decodificar JWT sem confundir leitura com validação

Aprenda a ler header e payload de um JSON Web Token e entenda por que decodificar não verifica assinatura, autenticidade nem autorização.

Atualizado em 7 de outubro de 2026Leitura prática

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

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: