decodificar | inspecionar | verificar

> decodificar | inspecionar | verificar <

// Decodifique e inspecione JSON Web Tokens (JWT) instantaneamente

[SEGURO]

Processamento Local

Decodificação JWT 100% no lado do cliente. Seus tokens nunca saem do seu navegador.

[INSTANTÂNEO]

Auto-Decodificação

Decodifique tokens JWT automaticamente ao colar ou digitar.

[GRATUITO]

Inspeção Completa do Token

Visualize cabeçalho, payload e assinatura. Verifique algoritmo e expiração.

// SOBRE A DECODIFICAÇÃO JWT

Estrutura JWT:

Um JSON Web Token (JWT) consiste em três partes codificadas em Base64URL separadas por pontos: cabeçalho.payload.assinatura. O cabeçalho especifica o algoritmo e o tipo de token. O payload contém as declarações (dados). A assinatura verifica a integridade do token.

Exemplo:

eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0In0.signature → {"alg":"HS256"} + {"sub":"1234"}

Casos de Uso Comuns:

  • >Depuração de tokens de autenticação em aplicações web
  • >Inspeção de tokens OAuth 2.0 e OpenID Connect
  • >Verificação de expiração e declarações de tokens
  • >Compreensão da estrutura JWT conforme RFC 7519
  • >Verificação da integridade da codificação Base64URL

>> perguntas frequentes

P: O que é um JSON Web Token (JWT)?

R: JWT (JSON Web Token) é um padrão aberto (RFC 7519) para transmitir informações de forma segura entre partes como um objeto JSON. É compacto, seguro para URLs e comumente usado para autenticação.

P: Quais são as três partes de um JWT?

R: Um JWT consiste em três partes separadas por pontos: o Cabeçalho (algoritmo e tipo), o Payload (declarações e dados) e a Assinatura (hash de verificação). Cada parte é codificada em Base64URL.

P: Um JWT pode ser decodificado sem a chave secreta?

R: Sim, o cabeçalho e o payload de um JWT podem ser decodificados por qualquer pessoa, pois são simplesmente codificados em Base64URL (não criptografados). A chave secreta é necessária apenas para verificar a assinatura.

P: Qual a diferença entre JWT e autenticação baseada em sessão?

R: Sessões armazenam o estado no servidor com um cookie de ID de sessão. JWTs são sem estado — o próprio token contém todas as informações necessárias. JWTs são melhores para sistemas distribuídos e APIs.

P: Como funciona a expiração do JWT?

R: A declaração exp no payload JWT especifica o tempo de expiração como um timestamp Unix. Após esse tempo, o token deve ser considerado inválido.

// Algoritmos de assinatura JWT comuns

O valor alg do cabeçalho define como a assinatura é feita. HS* usa um segredo compartilhado; RS*, PS*, ES* e EdDSA usam pares de chaves.

algAlgoritmo
HS256HMAC + SHA-256
HS512HMAC + SHA-512
RS256RSA PKCS#1 v1.5 + SHA-256
PS256RSASSA-PSS + SHA-256
ES256ECDSA P-256 + SHA-256
EdDSAEd25519

// Verificar um JWT no código

Decodificar não verifica nada. Ao verificar, informe sempre explicitamente os algoritmos permitidos.

Node.js (jsonwebtoken)   jwt.verify(token, secret, { algorithms: ['HS256'] })
Python (PyJWT)           jwt.decode(token, key, algorithms=["HS256"])
PHP (firebase/php-jwt)   JWT::decode($token, new Key($key, 'HS256'))
Go (golang-jwt)          jwt.Parse(token, keyFunc, jwt.WithValidMethods([]string{"HS256"}))
Java (jjwt)              Jwts.parser().verifyWith(key).build().parseSignedClaims(token)

>> Mais perguntas

P: O que significam os claims padrão iss, sub, aud, exp, nbf, iat e jti?

R: iss é o emissor, sub o sujeito (geralmente o ID do usuário), aud o destinatário pretendido, exp a expiração, nbf o início da validade, iat o momento da emissão e jti um identificador único do token. As datas são em segundos Unix.

P: Um JWT é criptografado?

R: Um JWT assinado comum (JWS) não é criptografado, apenas codificado em Base64URL: qualquer pessoa pode ler o conteúdo. A assinatura protege apenas contra adulteração. Não coloque dados sensíveis nele ou use um JWE criptografado.

P: Como verifico a assinatura de um JWT?

R: É preciso ter a chave: o segredo compartilhado no HS256 ou a chave pública no RS256/ES256. O servidor recalcula a assinatura de Cabeçalho.Payload e compara. Este decodificador funciona no navegador e não verifica a assinatura por você: use uma biblioteca confiável.

P: Quais são os erros de segurança comuns com JWT?

R: Comuns: confiar no valor alg do próprio token (especialmente none), segredos HS256 fracos, não validar exp, iss e aud, dados sensíveis no payload e guardar tokens de longa duração no localStorage.

// OUTROS IDIOMAS