Pular para o conteúdo
Toolbench

Tente: comprimir pdf, foto do iphone, 15% de 240

    Decodificador de JWT

    Cole o token e leia o que ele diz, inclusive quando expira.

    O que ele diz

    A resposta aparece aqui enquanto você digita.

    Guia: Três partes, duas legíveis3 min de leitura

    Três partes, duas legíveis

    Um JWT são três trechos em base64url separados por pontos. O primeiro é o cabeçalho, que diz como o token foi assinado (HS256, RS256…). O segundo é o payload, com as claims: quem é o usuário (sub), quem emitiu (iss), para quem vale (aud), quando expira (exp). O terceiro é a assinatura. Os dois primeiros não são criptografados, só codificados — cole o token e a página mostra tudo, formatado.

    Validade em linguagem de gente

    As datas de um JWT vêm em segundos desde 1970, o que ninguém lê de cabeça. A página converte exp, iat e nbf em datas e diz se o token já expirou, há quanto tempo, ou quanto falta. É a primeira coisa a conferir quando uma API começa a responder 401 do nada.

    Por que a assinatura não é verificada

    Verificar exige o segredo (HS256) ou a chave pública (RS256), e colar um segredo de assinatura numa página da internet é justamente o erro que expõe um sistema. Por isso esta ferramenta só lê. A verificação é trabalho do seu servidor, com a biblioteca da sua linguagem. Um token com alg none, sem assinatura nenhuma, aparece com aviso: nenhum servidor deveria aceitá-lo.

    Nada é enviado

    O token é decodificado nesta aba e não vai para lugar nenhum, e a página funciona sem internet. Mesmo assim, um token de acesso válido é uma credencial: prefira colar tokens de teste ou já expirados. Para ler um trecho em base64 solto, use o codificador Base64; para formatar um JSON grande, o formatador de JSON.

    Perguntas frequentes

    É seguro colar um token aqui?

    Nada sai desta aba — o token é decodificado por código rodando no seu navegador. Mesmo assim, trate um token de acesso válido como senha: quem tem o token consegue usá-lo até ele expirar. Prefira tokens de ambiente de teste, ou já expirados.

    A ferramenta verifica a assinatura?

    Não, de propósito. Verificar exige o segredo ou a chave pública, e uma página pedindo para você colar o segredo de assinatura é exatamente o que não se deve fazer. A ferramenta lê o token; quem tem de verificar é o seu servidor.

    O payload do JWT é criptografado?

    Não. Um JWT comum (JWS) é só codificado em base64url, então qualquer pessoa com o token lê todas as claims — que é o que esta página mostra. Nunca ponha senha ou dado pessoal no payload. Tokens criptografados (JWE) têm cinco partes e não podem ser lidos sem a chave.

    O que são exp, iat e nbf?

    São timestamps Unix em segundos: exp é quando o token deixa de valer, iat quando foi emitido, nbf o momento antes do qual ele deve ser recusado. A página transforma em datas e diz há quanto tempo expirou ou quanto falta.

    Por que o alg none é avisado?

    Um token com alg none não tem assinatura, então qualquer pessoa poderia tê-lo escrito. Algumas bibliotecas antigas aceitavam esses tokens, o que permitia forjar qualquer identidade. Um servidor deve sempre recusá-los.

    Na mesma gaveta