JWT Decoder

Decodifique tokens JWT e visualize header, payload e assinatura

O que é JWT?

JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações de forma segura entre partes como um objeto JSON. Os tokens são assinados digitalmente, garantindo que as informações não foram alteradas.

Estrutura de um JWT

Um JWT é composto por três partes separadas por pontos (.):

xxxxx.yyyyy.zzzzz
  │      │      │
  │      │      └── Signature (Assinatura)
  │      └── Payload (Dados)
  └── Header (Cabeçalho)

1. Header (Cabeçalho)

O header contém informações sobre o tipo de token e o algoritmo de assinatura usado:

{
  "alg": "HS256",
  "typ": "JWT"
}

2. Payload (Dados)

O payload contém as claims (declarações) - informações sobre a entidade e metadados:

{
  "sub": "1234567890",
  "name": "John Doe",
  "iat": 1516239022,
  "exp": 1516242622
}

Claims Registradas (Padrão)

  • iss (issuer) - Emissor do token
  • sub (subject) - Assunto/usuário do token
  • aud (audience) - Destinatário do token
  • exp (expiration) - Timestamp de expiração
  • nbf (not before) - Token válido a partir de
  • iat (issued at) - Timestamp de emissão
  • jti (JWT ID) - Identificador único do token

3. Signature (Assinatura)

A assinatura é criada usando o header codificado, o payload codificado e uma chave secreta:

HMACSHA256(
  base64UrlEncode(header) + "." +
  base64UrlEncode(payload),
  secret
)

Importante: Este decoder apenas decodifica o token. Ele NÃO verifica a assinatura, pois isso requer a chave secreta. Nunca confie apenas na decodificação - sempre valide a assinatura no servidor.

Algoritmos comuns

  • HS256 - HMAC com SHA-256 (simétrico)
  • HS384 - HMAC com SHA-384 (simétrico)
  • HS512 - HMAC com SHA-512 (simétrico)
  • RS256 - RSA com SHA-256 (assimétrico)
  • RS384 - RSA com SHA-384 (assimétrico)
  • RS512 - RSA com SHA-512 (assimétrico)
  • ES256 - ECDSA com SHA-256 (assimétrico)

Casos de uso

  • Autenticação: Após login, o servidor retorna um JWT que o cliente usa em requests subsequentes
  • Autorização: O token pode conter roles/permissões do usuário
  • Troca de informações: Transmitir dados de forma segura entre serviços
  • Single Sign-On (SSO): Autenticação única entre múltiplas aplicações

Ferramentas Relacionadas

Você também pode se interessar por outras ferramentas dev do Finacalc:

Perguntas frequentes

JWT é seguro?

O payload do JWT é apenas codificado em Base64, não criptografado. Qualquer pessoa pode decodificá-lo. A segurança está na assinatura, que garante que o token não foi alterado. Nunca coloque dados sensíveis (como senhas) no payload.

Por que meu token está expirado?

O campo exp define quando o token expira. Se o timestamp atual for maior que exp, o token é considerado expirado. Você precisará obter um novo token (geralmente via refresh token).

Vocês armazenam os tokens que eu decodifico?

Não. Todo o processamento acontece no seu navegador usando JavaScript. Nenhum token é enviado para nossos servidores.

Posso usar JWT em produção?

Sim, JWT é amplamente usado em produção. Apenas certifique-se de usar HTTPS, definir tempos de expiração curtos, e sempre validar a assinatura no servidor.