Pular para o conteúdo
Quaestio

Decodificador de JWT

Cole um token para ver o que ele contém e quando expira. Se você tiver a chave, também pode verificar a assinatura.

A decodificação acontece no seu navegador. Nada é enviado.

Validade

…

Decodificado, não verificado: qualquer pessoa pode criar um token com este conteúdo. Digite a chave abaixo para verificar a assinatura.

Cabeçalho

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

Payload

{
  "iss": "https://example.com",
  "sub": "1234567890",
  "aud": "quaestio",
  "name": "Ada Lovelace",
  "iat": 1757000000,
  "nbf": 1757000000,
  "exp": 4102444800,
  "jti": "4f1c2a9e"
}

Campos e claims

algalgoritmo de assinatura
HS256
typtipo do token
JWT
issemissor
https://example.com
subassunto, geralmente o ID do usuário
1234567890
audpúblico a que o token se destina
quaestio
exphorário de expiração
4102444800
nbfnão válido antes de
1757000000
iatemitido em
1757000000
jtiID único do token
4f1c2a9e
Assinatura
32 bytes

Verificar a assinatura

A chave só é usada no seu navegador e não é salva.

Incorporar

Incorpore esta ferramenta no seu site

Copie o código e cole onde a ferramenta deve aparecer, como num post de blog ou numa página escolar. É gratuito, o quadro não tem anúncios e a ferramenta calcula no navegador do visitante.

Como funciona

Um JSON Web Token (JWT, RFC 7519) tem três partes separadas por pontos: cabeçalho, payload e assinatura. O cabeçalho e o payload são JSON codificado em base64url, uma variante de base64 que usa - e _ em vez de + e / e omite o preenchimento. Qualquer pessoa pode ler o conteúdo; ele não é criptografado.

O cabeçalho informa o algoritmo (alg) e muitas vezes o tipo (typ) e o ID da chave (kid). O payload contém claims, afirmações sobre o usuário ou a sessão. O padrão registra sete: iss (emissor), sub (assunto), aud (público), exp (expiração), nbf (não antes de), iat (emitido em) e jti (ID do JWT). As demais claims ficam a critério do emissor.

Os horários em exp, nbf e iat são segundos desde 1º de janeiro de 1970 UTC. Um token não deve ser aceito a partir do horário exp nem antes do horário nbf. O decodificador os compara com o relógio do seu dispositivo, então um relógio errado dá um status errado.

Decodificar não é verificar. A assinatura mostra que o token foi emitido por alguém que tem a chave e que o conteúdo não foi alterado, mas isso só pode ser conferido com a chave. HS256, HS384 e HS512 usam um segredo compartilhado (HMAC). RS e PS usam RSA, ES usa curvas elípticas (ECDSA com P-256, P-384 ou P-521) e EdDSA usa Ed25519; esses são verificados com a chave pública em PEM ou JWK, que os emissores costumam publicar como JWK Set.

Um token com alg none não tem assinatura e nunca deve ser aceito por um servidor. Várias vulnerabilidades conhecidas vieram de bibliotecas que aceitavam none, ou que deixavam um atacante trocar RS256 por HS256 e assinar usando a chave pública como segredo.

Um token muitas vezes funciona como a chave de uma conta. Aqui tudo acontece no seu navegador, com a criptografia embutida dele (WebCrypto), e nem o token, nem o segredo, nem a chave são enviados a lugar nenhum. Mesmo assim, nunca cole um token ativo ou um segredo em um site em que você não confia, e nunca cole uma chave privada: a verificação só precisa da pública.

Fontes

Como as ferramentas são verificadas