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.
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.