O que é JWT: header, payload, assinatura e segurança

Entenda o que é um JWT, as três partes (header, payload e assinatura), a diferença essencial entre decodificar e validar um token, os principais riscos de segurança e por que não colar tokens sensíveis em ferramentas online.

Revisado pela equipe editorial ValorFinalRFC 7519 / MDN / OWASP

JWT é onipresente em autenticação de aplicações web e APIs, mas é cercado de mal-entendidos, principalmente sobre segurança. Entender suas três partes e a diferença entre decodificar e validar evita erros perigosos. Neste guia você vê o que é um JWT, sua estrutura, os riscos e por que não colar tokens sensíveis em qualquer lugar. Para inspecionar um token, use o decodificador de JWT.

O que é JWT

JWT (JSON Web Token) é um padrão aberto para transmitir informações entre partes de forma compacta e verificável. É muito usado em autenticação: depois do login, o servidor entrega um token que o cliente envia em cada requisição para provar quem é, sem precisar consultar a sessão a cada vez.

As três partes

Um JWT é formado por três blocos separados por pontos:

Header e payload são apenas codificados em Base64URL, não criptografados. Para entender essa codificação, veja o codificador Base64.

Decodificar não é validar

Esse é o ponto mais importante. Decodificar é só ler o header e o payload, o que qualquer pessoa com o token consegue fazer, sem chave nenhuma. Validar é verificar a assinatura com a chave correta e checar a expiração e o emissor, para ter certeza de que o token é autêntico e ainda vale. A validação deve ocorrer no servidor, com a chave secreta ou pública apropriada. Uma ferramenta de decodificação mostra o conteúdo, mas não prova autenticidade.

Riscos de segurança

Por que não colar tokens sensíveis online

Como o payload é legível e um token válido funciona como senha, colar um JWT real de produção em um site desconhecido é arriscado. Use ferramentas que processam localmente no navegador, como o decodificador de JWT do ValorFinal, que não envia o token a nenhum servidor. Para entender o JSON que está dentro do payload, veja o guia o que é JSON; para gerar hashes, o gerador de hash.

Limitações deste guia

O conteúdo é educativo e não cobre todas as nuances de implementação segura de autenticação. Para sistemas em produção, siga as recomendações oficiais (RFC 7519 e OWASP) e, idealmente, use bibliotecas consolidadas em vez de implementar do zero. Veja também como validamos os cálculos.

Calculadoras deste guia

Como validamos os cálculos

Os valores citados neste guia são estimativos e baseados em fontes oficiais (RFC 7519 / MDN / OWASP). Eles podem variar conforme convenção coletiva, situação individual e atualizações da legislação. Entenda nossa metodologia em como validamos os cálculos.

Perguntas frequentes

O que é um JWT?
JWT (JSON Web Token) é um padrão para transmitir informações de forma compacta e verificável entre duas partes, muito usado em autenticação. Ele carrega dados (claims) em formato JSON, codificados em Base64URL, e uma assinatura que permite verificar se o token não foi alterado.
Quais são as três partes de um JWT?
Header (cabeçalho), payload (corpo) e signature (assinatura), separados por pontos. O header indica o algoritmo de assinatura; o payload contém os claims (como id do usuário e expiração); a assinatura é gerada com uma chave secreta e garante a integridade do token.
Qual a diferença entre decodificar e validar um JWT?
Decodificar é só ler o conteúdo do header e do payload, que estão em Base64URL e não são criptografados. Validar é verificar a assinatura com a chave correta e conferir expiração e emissor. Uma ferramenta de decodificação mostra o conteúdo, mas não prova que o token é autêntico: isso exige validação no servidor com a chave.
É seguro colar um JWT em uma ferramenta online?
Não com tokens reais e sensíveis. O payload de um JWT não é criptografado: qualquer um que tenha o token pode ler os dados e, se for um token de acesso válido, usá-lo. Use ferramentas que processam localmente, como a do ValorFinal, e nunca cole tokens de produção em sites desconhecidos.