Decodificador JWT Online - Decode JSON Web Tokens
Decodifique e analise JSON Web Tokens (JWT) instantaneamente. Visualize header, payload, verifique expiração e entenda a estrutura de seus tokens de autenticação.
Decodificador JWT
💡 Sobre JWT
- Header: Contém o tipo de token e algoritmo de assinatura
- Payload: Contém as claims (informações do usuário e metadados)
- Signature: Garante a integridade do token (não validada aqui)
- Decodificação ≠ Validação: Esta ferramenta apenas lê o token, não verifica sua autenticidade
O que é JWT?
JWT (JSON Web Token) é um padrão aberto (RFC 7519) que define uma maneira compacta e autossuficiente para transmitir informações com segurança entre partes como um objeto JSON. É amplamente usado para autenticação e troca de informações em aplicações web modernas.
Estrutura de um JWT
Um JWT consiste em três partes separadas por pontos (.):
xxxxx.yyyyy.zzzzz 1. Header
Contém o tipo de token (JWT) e o algoritmo de assinatura (HS256, RS256, etc.)
2. Payload
Contém as claims (declarações) sobre o usuário e metadados adicionais
3. Signature
Garante que o token não foi alterado. Criada com o header, payload e uma chave secreta
Claims Comuns no Payload
- iss (issuer): Quem emitiu o token
- sub (subject): Sobre quem é o token (geralmente user ID)
- aud (audience): Para quem o token é destinado
- exp (expiration): Quando o token expira (timestamp Unix)
- nbf (not before): Quando o token se torna válido
- iat (issued at): Quando o token foi criado
- jti (JWT ID): Identificador único do token
Quando Usar JWT?
✅ Bom Para:
- • APIs REST stateless
- • Autenticação entre serviços
- • Single Sign-On (SSO)
- • Mobile apps
- • Microservices
❌ Não Recomendado Para:
- • Dados sensíveis (senhas, etc.)
- • Tokens de longa duração
- • Sessões complexas com estado
- • Quando precisa revogar imediatamente
⚠️ Avisos de Segurança
IMPORTANTE:
- Esta ferramenta NÃO valida assinaturas. Ela apenas decodifica o conteúdo.
- Nunca compartilhe tokens JWT reais que contenham dados sensíveis ou de produção.
- JWT não é criptografado, apenas codificado em Base64. Qualquer um pode decodificar.
- Não armazene dados sensíveis no payload do JWT.
- Sempre verifique a assinatura no servidor antes de confiar no token.
- Use HTTPS sempre que transmitir JWTs.
Melhores Práticas
- Tempo de expiração curto: Use 15 minutos a 1 hora para access tokens
- Refresh tokens: Implemente para renovar access tokens sem novo login
- Algoritmo seguro: Use RS256 (RSA) ou ES256 (ECDSA) em vez de HS256 quando possível
- Claims mínimas: Inclua apenas informações necessárias no payload
- Validação rigorosa: Sempre valide exp, iss, aud no servidor
- HTTPS obrigatório: Nunca transmita JWT por HTTP não criptografado
- Armazenamento seguro: Use httpOnly cookies ou armazenamento seguro
Exemplo de JWT
Token Completo:
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvYW8gU2lsdmEiLCJpYXQiOjE1MTYyMzkwMjJ9.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c Header Decodificado:
{
"alg": "HS256",
"typ": "JWT"
} Payload Decodificado:
{
"sub": "1234567890",
"name": "Joao Silva",
"iat": 1516239022
} Bibliotecas Recomendadas
- Node.js: jsonwebtoken, jose
- Python: PyJWT, python-jose
- Java: jjwt, jose4j
- PHP: firebase/php-jwt, lcobucci/jwt
- .NET: System.IdentityModel.Tokens.Jwt
- Go: golang-jwt/jwt
Perguntas Frequentes
JWT é criptografado?
Não por padrão. JWT usa codificação Base64, que pode ser facilmente decodificada. Para criptografia, use JWE (JSON Web Encryption).
Posso revogar um JWT?
JWT são stateless, então não há revogação nativa. Soluções incluem: usar tempos de expiração curtos, manter uma blacklist no servidor, ou usar tokens com ID único que você pode invalidar.
Onde devo armazenar JWT no navegador?
A opção mais segura é httpOnly cookies. localStorage é conveniente mas vulnerável a XSS. Evite sessionStorage para tokens de autenticação importantes.