Toolverse

Descodificador JWT

Cole um JSON Web Token para ler o seu cabeçalho e carga como JSON formatado. As reivindicações de marcação de tempo são apresentadas como datas UTC legíveis. A descodificação ocorre no seu navegador.

Esta ferramenta apenas descodifica o token — NÃO verifica a assinatura. Nunca confie num token descodificado como prova de autenticação.

Reivindicações de marcação de tempo (UTC)

iat
2018-01-18T01:30:22.000Z

Como usar

Cole um JSON Web Token na caixa. Um JWT é composto por três segmentos base64url unidos por pontos — cabeçalho, carga e assinatura, por essa ordem. A ferramenta divide o token nos pontos e descodifica base64url os primeiros dois segmentos em JSON formatado e legível para que possa inspecioná-los lado a lado. O cabeçalho descreve como o token foi produzido: o algoritmo de assinatura, como HS256 ou RS256, e o tipo de token. A carga contém as reivindicações — as afirmações reais que o token faz. Um token para um utilizador autenticado normalmente nomeia um sujeito (a quem o token diz respeito), um emissor (quem o criou) e uma expiração, juntamente com quaisquer reivindicações personalizadas que a aplicação adicionou. As reivindicações de marcação de tempo são as que as pessoas mais frequentemente mal interpretam. As reivindicações de tempo padrão — iat (emitido em), exp (expira) e nbf (não antes) — são armazenadas como segundos desde o Unix epoch, o que é ilegível à primeira vista. A ferramenta converte cada uma delas para uma data UTC formatada, para que possa ver imediatamente se um token já expirou ou ainda não é válido. A descodificação não é verificação, e a diferença é importante. Qualquer pessoa que tenha um JWT pode ler o seu cabeçalho e carga, porque essas partes são apenas codificadas, não encriptadas. Apenas a assinatura — verificada em relação à chave de assinatura — prova que o token é autêntico e não foi alterado. Esta ferramenta deliberadamente apenas lê; nunca confie nas reivindicações de um token descodificado para uma decisão de segurança sem verificar a assinatura no seu servidor. Tudo funciona completamente no seu navegador, portanto o token que cola nunca é enviado. Isto torna o descodificador seguro para as tarefas do dia a dia para as quais foi concebido: depuração de um fluxo de autenticação, investigação do motivo pelo qual uma sessão foi rejeitada ou verificação exata de quais as reivindicações que o seu fornecedor de identidade emite.

Perguntas frequentes

Isto verifica a assinatura?
Não. Apenas descodifica o cabeçalho e carga para que possa lê-los. A verificação de um JWT requer o segredo de assinatura ou a chave pública, que esta ferramenta nunca solicita. Não trate um token descodificado como autenticado.
O que são exp, iat e nbf?
São reivindicações de tempo padrão em segundos desde o Unix epoch: iat (emitido em), nbf (não antes) e exp (expira). Esta ferramenta converte-as para datas UTC para si.
O meu token é enviado para algum lado?
Não. A descodificação funciona inteiramente no seu navegador; o token nunca é carregado. Mesmo assim, evite colar tokens de produção em qualquer ferramenta online.
Por que posso ler a carga sem uma senha?
Porque um JWT é codificado, não encriptado. O cabeçalho e carga são apenas codificados em base64url — um formato reversível que qualquer pessoa pode descodificar — portanto o seu conteúdo é totalmente legível sem qualquer chave. A assinatura é a camada de segurança: não oculta os dados, prova que os dados não foram alterados. Por essa razão, nunca coloque segredos numa carga JWT; trate tudo nela como público.