portfolios.tools

Decodificador JWT e inspetor de claims

Decodifique um JSON Web Token compacto de três partes para inspecionar o cabeçalho e as claims, e compare as claims de tempo com o relógio atual. A decodificação não verifica a assinatura nem estabelece confiança.

Entrada do token

O token fica apenas na memória desta página e não é salvo. Ao carregar, a ferramenta remove qualquer token que uma versão anterior deixou no armazenamento do navegador. Esta ferramenta não envia o token a uma API.

Use um token de teste sem acesso a contas reais para aprender o formato. Não compartilhe um token que possa conceder acesso a uma conta.

Estrutura decodificada do token

Cole um JWT compacto de três partes para examinar o cabeçalho e o corpo.

Como funciona o inspetor JWT

Um JWT compacto assinado tem três partes Base64url separadas por pontos: um cabeçalho JSON, um corpo JSON com claims e um segmento de assinatura. Esta ferramenta decodifica o cabeçalho e o corpo como objetos JSON em UTF 8. Ela não verifica a assinatura, o emissor, a audiência, as permissões ou a autorização.

Digite um token compacto de três partes. O cabeçalho e o corpo decodificados aparecem como JSON formatado, e a tabela mostra claims comuns como iss, sub, aud, exp, iat e nbf. Este inspetor não aceita o formato criptografado de cinco partes. O cabeçalho protegido pode ser lido como JSON, mas não é possível inspecionar as claims do corpo criptografado sem descriptografia.

Os valores NumericDate de exp, iat e nbf são interpretados como segundos desde a época UTC, incluindo segundos fracionários. Os horários de expiração e de início de validade são comparados com o relógio enquanto a página está aberta. Valores ausentes e malformados são informados separadamente. Essas comparações não validam o token nem suas claims.

Um segmento de assinatura indicado como presente significa apenas que a terceira parte contém texto. A ferramenta não verifica o valor criptográfico, o algoritmo, a chave de assinatura ou o emissor. Considere todas as claims decodificadas como não confiáveis até que o serviço emissor verifique o token.

Passo a passo

  1. Cole um JWT compacto de três partes no campo do token.
  2. Examine o cabeçalho e o corpo decodificados, o segmento de assinatura e as claims exibidas.
  3. Compare os horários exp e nbf com o relógio exibido e confirme o token usando a chave confiável e as regras esperadas antes de confiar nele.

Exemplo prático

Cole este token de exemplo: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL2lzc3Vlci5leGFtcGxlIiwic3ViIjoidXNlci0xMjMiLCJhdWQiOiJhcGkuZXhhbXBsZSIsImV4cCI6MTg5MzQ1NjAwMCwiaWF0IjoxODkzNDUyNDAwLCJuYmYiOjE4OTM0NTI0MDB9.c2ln. Ele é decodificado em um cabeçalho com alg HS256 e typ JWT e claims de emissor, sujeito, público, expiração, emissão e início de validade.

O exemplo tem texto na terceira parte, então a interface informa que há texto de assinatura. Ela não verifica a assinatura. exp corresponde a 00:00 UTC de 1º de janeiro de 2030; iat e nbf correspondem a 23:00 UTC de 31 de dezembro de 2029. A comparação depende do relógio atual.

Quando usar este inspetor

Use para visualizar o cabeçalho JSON e as claims do corpo de um token compacto de três partes durante o desenvolvimento ou a resolução de problemas.

Use um serviço confiável separado para verificar assinaturas e autorização. Trate o conteúdo decodificado como não confiável até que essas verificações sejam concluídas.

Erros comuns de interpretação

Não trate JSON legível, um segmento de assinatura presente ou uma claim exp ainda não vencida como prova de autenticidade. Decodificar e comparar horários não é verificação criptográfica.

Não suponha que claims como iss, aud, sub ou permissões personalizadas sejam verdadeiras porque aparecem no corpo. Um serviço precisa verificar a assinatura e aplicar suas próprias regras de claims e autorização.

Estrutura JWT e claims de tempo

JWT compacto = Base64url(UTF8(cabeçalho JSON)) . Base64url(UTF8(corpo JSON)) . segmento de assinatura

Horário de expiração atingido = horário UTC atual em segundos ≥ exp

Horário nbf atingido = horário UTC atual em segundos ≥ nbf

NumericDate = segundos desde 1970 01 01 00:00:00 UTC

Esta ferramenta inspeciona o formato compacto assinado de três partes. Ela decodifica Base64url sem preenchimento e UTF 8 de modo estrito, e exige que o cabeçalho e o corpo sejam objetos JSON. O resultado de expiração ou de início de validade é apenas uma comparação de horários, não uma verificação de assinatura nem uma decisão de autenticação.

Escopo e limitações

Esta página inspeciona um JWT compacto de três partes e decodifica o cabeçalho e o corpo. Ela não verifica assinaturas, algoritmos ou chaves, não confirma emissor ou audiência, não avalia permissões nem determina se uma aplicação deve aceitar o token. Não descriptografa tokens JWE de cinco partes, busca chaves, chama o emissor ou contata um serviço de tokens. Números JSON fora da precisão aceita são rejeitados, e as datas exibidas têm precisão de milissegundos. Claims de tempo são comparadas com o relógio do navegador, que pode diferir do relógio de um serviço. A ferramenta não salva o token, mas qualquer pessoa com acesso à página aberta pode visualizar seu conteúdo.

Termos principais

JWT
JSON Web Token que representa claims em uma estrutura assinada, protegida contra alterações ou criptografada.
Declaração
Valor nomeado no corpo do token, como emissor, sujeito, público ou dado de tempo.
NumericDate
Número de segundos desde 1970 01 01 00:00:00 UTC. Segundos fracionários são permitidos.

Perguntas frequentes

Decodificar um token significa que ele é válido?

Não. A decodificação mostra apenas a estrutura legível. Ela não prova que um serviço confiável emitiu o token nem que o conteúdo merece confiança.

A ferramenta verifica a assinatura?

Não. Ela apenas informa se a terceira parte contém texto. Um verificador precisa usar o algoritmo esperado e uma chave confiável para o emissor do token.

Por que tokens de cinco partes não são aceitos?

Um JWE compacto de cinco partes pode ter um cabeçalho protegido legível como JSON. Não é possível inspecionar as claims do corpo criptografado sem descriptografia. Esta ferramenta aceita apenas JWTs compactos de três partes.

O que exp, iat e nbf significam aqui?

São claims NumericDate em segundos desde a época UTC. A ferramenta compara exp e nbf com o relógio atual e mostra iat como data. Valores ausentes e malformados são informados separadamente. Essas comparações não validam o token.

O que a presença de um segmento de assinatura comprova?

Apenas que a terceira parte não está vazia. A ferramenta não verifica os bytes da assinatura, o algoritmo, a chave, o emissor, o público ou as permissões.

Ferramentas relacionadas

O Codificador de Payload Base64 pode inspecionar partes codificadas individualmente. Consulte a documentação do provedor de identidade ou do serviço para verificar assinaturas e requisitos das claims.