JWT Decoder
Cole um JSON Web Token para ler seu cabeçalho e payload como JSON formatado. As reivindicações de timestamp são mostradas como datas UTC legíveis. A decodificação ocorre no seu navegador.
Reivindicações de timestamp (UTC)
- iat
- 2018-01-18T01:30:22.000Z
Como usar
Cole um JSON Web Token na caixa. Um JWT são três segmentos base64url unidos por pontos — cabeçalho, payload e assinatura, nessa ordem. A ferramenta divide o token nos pontos e decodifica em base64url os dois primeiros segmentos em JSON formatado e legível para que você 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. O payload carrega as reivindicações — as afirmações reais que o token faz. Um token para um usuário conectado normalmente nomeia um assunto (sobre quem é o token), um emissor (quem o criou) e uma expiração, juntamente com quaisquer reivindicações personalizadas que o aplicativo adicionou. As reivindicações de timestamp são as que as pessoas mais interpretam mal. As reivindicações de tempo padrão — iat (emitido em), exp (expira) e nbf (não antes) — são armazenadas como segundos desde a epoch Unix, o que é ilegível à primeira vista. A ferramenta converte cada uma delas em uma data UTC formatada, para que você possa ver imediatamente se um token já expirou ou ainda não é válido. A decodificação não é verificação, e a diferença importa. Qualquer pessoa que tenha um JWT pode ler seu cabeçalho e payload, porque essas partes são apenas codificadas, não criptografadas. Apenas a assinatura — verificada contra a 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 decodificado para uma decisão de segurança sem verificar a assinatura no seu servidor. Tudo funciona inteiramente no seu navegador, portanto, o token que você cola nunca é enviado. Isso torna o decodificador seguro para as tarefas do dia a dia para as quais foi construído: depurar um fluxo de autenticação, inspecionar por que uma sessão foi rejeitada, ou verificar exatamente quais reivindicações seu provedor de identidade emite.
Perguntas frequentes
- Isso verifica a assinatura?
- Não. Ele apenas decodifica o cabeçalho e o payload para que você possa lê-los. Verificar um JWT requer o segredo de assinatura ou a chave pública, que esta ferramenta nunca pede. Não trate um token decodificado como autenticado.
- O que são exp, iat e nbf?
- Elas são reivindicações de tempo padrão em segundos desde a Unix epoch: iat (emitido em), nbf (não antes), e exp (expira). Esta ferramenta as converte para datas UTC para você.
- Meu token é enviado para algum lugar?
- Não. A decodificação ocorre inteiramente no seu navegador; o token nunca é enviado. Ainda assim, evite colar tokens de produção em qualquer ferramenta online.
- Por que posso ler o payload sem uma senha?
- Porque um JWT é codificado, não criptografado. O cabeçalho e o payload são apenas codificados em base64url — um formato reversível que qualquer pessoa pode decodificar — então seus conteúdos são totalmente legíveis sem nenhuma chave. A assinatura é a camada de segurança: ela não oculta os dados, ela prova que os dados não foram alterados. Por essa razão, nunca coloque segredos em um payload JWT; trate tudo nele como público.