Decodificador de JWT
Decodifique um JSON Web Token em seu cabeçalho, payload e claims, veja se ele está expirado e, opcionalmente, verifique uma assinatura HS256, HS384 ou HS512.
Três partes em base64url separadas por pontos: header.payload.signature.
Token decodificado
Cabeçalho
Payload
| Claim | Valor | Significado |
|---|
Assinatura
A decodificação não verifica a assinatura. Insira aqui o segredo usado para assinar este token para verificá-lo, inteiramente em seu navegador.
Como funciona
Esta ferramenta é um decodificador de JWT do lado do cliente que divide um token em suas partes de cabeçalho, payload e assinatura, decodifica o cabeçalho e o payload em base64url e exibe claims registradas como exp, iat e sub com carimbos de data/hora legíveis e um indicador de expirado ou válido com base na hora atual.
- Colar o token
A string de três partes separada por pontos.
- Ler as claims
As claims padrão são rotuladas, com carimbos de data/hora convertidos para uma data legível.
- Verificar a assinatura, opcionalmente
Para tokens HS256, HS384 ou HS512, cole o segredo para verificá-lo.
Decodificar não é verificar
Um JWT tem três partes unidas por pontos: um cabeçalho que descreve o algoritmo de assinatura, um payload de claims e uma assinatura. O cabeçalho e o payload são apenas codificados em base64url, não criptografados, então qualquer pessoa pode decodificá-los e lê-los sem uma chave, que é exatamente o que esta ferramenta faz. A assinatura é o que realmente prova que o token foi emitido por quem detém o segredo ou chave privada, e verificá-la é uma operação separada da decodificação.
- Claims registradas: exp (expiração), iat (emitido em), nbf (não antes de), sub (assunto), iss (emissor), aud (público) e jti (ID do token) são reconhecidos e rotulados; exp, iat e nbf também são exibidos como uma data legível.
- Verificação de expiração: compara o claim exp, se presente, com a hora atual do seu dispositivo.
- Verificação de assinatura: para tokens HS256, HS384 e HS512, ao inserir o segredo compartilhado, o HMAC é recalculado no seu navegador usando a API Web Crypto e comparado à assinatura do token. RS256, ES256 e outros algoritmos de chave pública exigem a chave pública do emissor em vez de um segredo compartilhado, o que esta ferramenta não aceita, portanto ela informa o algoritmo como não suportado para verificação aqui.
Não confie em um token decodificado que você não verificou
Qualquer pessoa pode construir um JWT com quaisquer claims e uma assinatura inválida, pois a decodificação nunca a verifica. Nunca tome uma decisão de autorização baseada apenas em um payload decodificado; verifique a assinatura primeiro, normalmente no seu servidor com a mesma biblioteca que emitiu o token. Tudo nesta página é executado no seu navegador: o token e qualquer segredo que você digitar para verificá-lo nunca são enviados para nenhum lugar.
Perguntas frequentes
Como decodifico um token JWT para ver seu payload?
Cole o JWT completo, a string de três partes separadas por pontos, no campo de entrada. A ferramenta divide a string nos pontos, decodifica em base64url os segmentos de cabeçalho e payload e exibe cada claim em uma tabela estruturada. Claims padrão como exp (expiração), iat (emitido em) e sub (assunto) são rotuladas e convertidas para datas legíveis.
Decodificar um JWT verifica sua assinatura?
Não, decodificar e verificar são duas operações distintas. A decodificação lê o cabeçalho e o payload sem verificar a assinatura criptográfica. Um JWT decodificado que parece válido ainda pode ser falsificado. Esta ferramenta também pode verificar uma assinatura HS256, HS384 ou HS512 se você fornecer o segredo compartilhado, mas algoritmos de chave pública como RS256, ES256 e outros ainda precisam ser verificados no seu servidor, onde a chave pública correspondente à chave privada está disponível.
É seguro colar um JWT de produção neste decodificador?
O decodificador executa totalmente no seu navegador; o token e qualquer segredo que você digitar para verificá-lo nunca são enviados a nenhum servidor. Como boa prática, evite colar tokens ativos que concedem acesso sensível em qualquer lugar. Se você precisar depurar um token de produção, use uma cópia de teste ou um token com uma janela de expiração curta.
Como posso saber se um JWT está expirado usando esta ferramenta?
Após a decodificação, procure pela claim exp na seção de payload. A ferramenta converte o timestamp Unix em uma data legível e exibe um selo de expirado ou válido com base na hora atual do seu dispositivo. Se a hora atual for posterior ao valor de exp, o token estará expirado e será rejeitado por qualquer servidor implementado corretamente.
Quais algoritmos JWT este decodificador suporta?
A decodificação funciona com um token assinado usando qualquer algoritmo, HS256, RS256, ES256 e assim por diante, porque a leitura do cabeçalho e do payload envolve apenas decodificação base64url, que é independente de algoritmo. A verificação de assinatura nesta ferramenta é limitada aos algoritmos simétricos HS256, HS384 e HS512; tokens RS e ES são relatados como não suportados para verificação aqui, pois precisam de uma chave pública em vez de um segredo compartilhado.