Inspeção com chave pública

Decodificador de JWTcom assinatura e claims separados

Leia o token e escolha a chave, o algoritmo e as expectativas de verificação.

Decodificador de JWT

Token JWT

Token e chaves ficam na memória desta página. Não há busca de chaves remotas nem armazenamento das entradas.

JSON decodificado e relatório

Não verificado: decodificar não valida um token.

Configurações de assinatura e claims

Escolha o algoritmo esperado por conta própria. Uma assinatura correspondente não comprova identidade do emissor, permissões, revogação nem validade global.

Chave pública fornecida

Um JWK público ou SPKI PEM PUBLIC KEY. RS256 exige RSA de 2048–8192 bits; ES256 exige P-256. Chaves privadas e JWKS remotos não são aceitos.

exp, nbf e iat são verificados separadamente da assinatura. Este depurador sinaliza iat futuro. Tempos ausentes continuam ausentes; emissor e destinatário vazios não são verificados. UTC usa milissegundos; a fração original fica no relatório.

Limites: token 100.000 caracteres; chave 20.000; claims de teste 50.000. Apenas base64url estrito, UTF-8 e objetos JSON. Chaves duplicadas e números alterados pela conversão são rejeitados.

Gerador de tokens de teste

Cole um JWT compacto para começar.

O Decodificador de JWT ajuda a investigar uma chamada de API recusada: veja cabeçalho, claims, emissor, destinatário e datas. Compare os valores para descobrir se a aplicação está enviando o token esperado. A assinatura começa como não verificada.

Decodificar JWT revela dados base64url sem precisar de chave. Verificar uma assinatura JWT exige uma chave pública escolhida à parte. Um token expirado pode ter uma assinatura correspondente, por isso o relatório não mistura as conclusões.

Por que este Decodificador de JWT separa as verificações

Conteúdo legível não garante confiança

O Decodificador de JWT mostra assinatura e tempo em resultados independentes. Um token pode estar intacto e vencido, enquanto um JSON aparentemente correto pode ter sido forjado. Essa distinção ajuda a entender a recusa do servidor.

Um token se divide em dados legíveis, verificação por chave pública e uma verificação independente de relógio.

Experimentos em um rascunho próprio

O gerador de testes cria um par de chaves temporário no navegador. Primeiro apresenta a prévia do token e da chave pública. Aplicar substitui as duas entradas; Desfazer recupera uma vez a entrada e o resultado anteriores.

Um rascunho de teste gera a prévia do token e da chave pública antes da aplicação.

Defina o que você espera de cada verificação

01

Entenda o modo automático

A decodificação espera 350 ms depois das edições. Desative-a para usar Decodificar ou Ctrl/Cmd+Enter. Essa opção nunca inicia a verificação de assinatura nem a geração de testes.

02

Forneça expectativas independentes

Escolha RS256 ou ES256 e informe um JWK público ou SPKI PUBLIC KEY PEM. Preencha o emissor ou destinatário esperado quando necessário. Referências do cabeçalho não escolhem uma chave confiável.

03

Reproduza o horário da falha

Referência vazia usa a hora de cada execução. Um valor em segundos Unix permite repetir um instante. A ação da hora atual abre uma prévia; qualquer alteração impede exportar o resultado antigo até atualizá-lo.

Examine cada possível motivo de recusa

Cabeçalho e payload legíveis

Veja os dois objetos JSON e as informações de assinatura. O algoritmo declarado fica separado do esperado; kid e URLs não estabelecem confiança no payload JWT.

Comparação com chave pública

RS256 aceita RSA de 2048–8192 bits; ES256 usa P-256. Uma assinatura diferente é distinguida de uma chave inválida, de um algoritmo não suportado ou de erro de formato.

Condições de tempo reproduzíveis

exp, nbf e iat são comparados com a referência e uma tolerância de 0–86400 segundos. iat futuro falha conforme a política deste depurador. Tempos ausentes continuam ausentes.

Emissor e destinatário esperados

iss exige igualdade exata. aud pode ser texto ou uma lista contendo o destinatário esperado. Sem expectativa configurada, o campo fica sem verificação. A assinatura não concede acesso.

Formatos aceitos e limites do relatório

Somente três segmentos compactos
Informe o token puro, sem prefixo Bearer, espaços externos ou preenchimento. JWE de cinco partes não é descriptografado. none pode ser lido com assinatura vazia, mas nunca é verificado.
Texto e números estritos
Cabeçalho e claims devem ser objetos JSON UTF-8. Duplicatas, substitutos Unicode isolados e base64url não canônico são rejeitados. Frações representáveis são aceitas; alterações silenciosas do valor numérico não.
Apenas material público
Use um JWK público único ou SPKI PUBLIC KEY PEM completo. Chaves privadas ou simétricas são rejeitadas. Conflitos de alg, use ou key_ops do JWK também impedem a verificação.
Sem chaves remotas ou extensões
jku, x5u, kid, jwk e x5c são metadados não confiáveis. Não disparam requisições nem seleção de chaves. Assinaturas contendo crit, b64 ou zip não são verificadas.
Tamanho e precisão das datas
Limites: token 100.000 caracteres, chave 20.000, claims de teste 50.000. O token gerado também precisa respeitar seu limite. Tempos fora do intervalo Date são inválidos; UTC mostra milissegundos e o relatório preserva a fração original.
Testes não substituem autenticação
O gerador começa desativado e cria chaves temporárias somente ao clicar em Gerar. Aplicar não verifica a assinatura automaticamente. Permissões, revogação e regras do serviço continuam sendo responsabilidade da aplicação.

Perguntas sobre o Decodificador de JWT

Decodificar também verifica a assinatura?

Não na leitura inicial. Para verificar, escolha explicitamente RS256 ou ES256 e informe a chave pública correspondente. O resultado da assinatura fica separado das verificações de tempo, emissor e destinatário.

Como interpretar iat, nbf e exp?

iat indica emissão, nbf define o início e exp o fim da validade, em segundos Unix. Os valores são mostrados em UTC. As verificações usam a referência e a tolerância configuradas; iat futuro é sinalizado pela política desta ferramenta.

Um JWT vencido ainda pode ser lido?

Sim. O vencimento não impede a leitura do cabeçalho e do payload. A assinatura ainda pode corresponder à chave, mas a verificação de exp falha. São resultados diferentes, apresentados separadamente.

Por que meu token não é decodificado?

Confira se são exatamente três segmentos sem Bearer, espaços ou preenchimento. base64url inválido, UTF-8 incorreto, JSON malformado, nomes duplicados e números com perda de precisão também provocam erro.

O token é enviado para algum servidor?

As entradas ficam apenas na memória da página. Não há armazenamento de rascunhos nem busca remota de chaves. Copiar ou baixar gera um relatório somente quando você escolhe essa ação.

Encontrou um resultado inesperado?

Continue a inspeção

Use o Decodificador de JWT com o algoritmo esperado, uma chave pública conhecida e uma referência de horário definida; exporte apenas o relatório das entradas atuais.