Descodificador e verificador de JSON Web Token
Três segmentos base64url, uma assinatura que ou é real ou não é, e uma janela de validade que ou inclui este momento ou não. Esta ferramenta responde às três coisas sem rede, e mostra o motivo exato quando a resposta é não.
A chave é usada pela criptografia do seu navegador neste separador e não é enviada para lado nenhum.
Como funciona
Cole o token
Cole-o, ou largue um ficheiro — mesmo uma linha de log: o token é extraído dali. É partido, descodificado e verificado logo.
Junte a chave
Um segredo partilhado em texto, base64 ou hex, uma chave pública PEM, um JWK ou um JWKS inteiro: escolhe-se a entrada que corresponde ao kid do token.
Verifique
Carregue no botão: a criptografia do próprio navegador faz as contas. Recebe válida, inválida, ou o motivo exato de a chave não servir — nunca um encolher de ombros.
Leve mais longe
Verifique os claims face ao que o seu serviço espera, assine um token novo no construtor, ou passe o payload a outra ferramenta da suite.
Assinaturas mesmo verificadas
HS256/384/512, RS, PS e ES — ES512 sobre P-521 incluído — verificados pela Web Crypto do próprio navegador. Sem servidor, sem biblioteca, sem enviar nada.
Claims julgados, não só mostrados
exp, nbf e iat face ao desvio de relógio que definir, mais o emissor, a audiência e o sujeito que o seu serviço espera. Cada verificação passa, falha ou é omitida, e di-lo.
Uma vigência que se vê
A contagem só corre quando há prazo a contar, e a barra mostra onde este momento cai entre nbf e exp.
Assine tokens, não os leia apenas
Edite o header e o payload, escolha o algoritmo e assine. O resultado reabre no inspetor para verificar o que acabou de criar.
Todos os formatos de chave
Segredo em texto, base64 ou hex; chaves públicas PEM; um JWK; ou um JWKS inteiro, onde a entrada correspondente ao kid é escolhida sozinha.
Ataques ditos em voz alta
alg: none, uma assinatura vazia, um payload que é JSON legal mas não um objeto, base64 que sobreviveu a um URL: cada caso é assinalado pelo que é.
Nada é enviado
O token e a chave são usados pela criptografia deste separador e desaparecem ao fechá-lo. Não há lado servidor para onde os mandar.
Passa a bola ao resto da suite
Envie os claims diretamente para o JSONFlow, DiffSnap, Base64Bolt ou Hash Bolt sem descarregar nem voltar a enviar.
Um descodificador que também sabe dizer que não
Cole um token para o ler, junte a chave para o provar. Verificação real da assinatura com a criptografia do próprio navegador, verificação de claims face ao que o seu serviço espera, e um construtor que volta a assinar tokens.
A criptografia já estava no navegador
A Web Crypto é uma implementação completa de HMAC, RSASSA-PKCS1-v1_5, RSA-PSS e ECDSA, e vem em todos os navegadores sem custo. Descodificação, verificação, verificação de claims e assinatura passam por lá, neste separador, sem qualquer pedido.
Para depurar a sério, não para a demo
As perguntas que aparecem às três da tarde: este 401 é por o token ter expirado ou por o gateway ter a chave errada? O cliente enviou a audiência que a API espera? Aquele kid ainda está no JWKS? Cole o token, cole o conjunto de chaves e receba uma resposta com motivo — também para os tokens que estão partidos e não apenas inválidos.
Um JWT costuma transportar uma identidade, e um segredo de assinatura é o que os cunha. Aqui nenhum dos dois é enviado para lado nenhum: esta ferramenta não tem lado servidor, nem conta, nem analíticas sobre o que cola. Feche o separador e ambos desaparecem, porque a memória deste separador foi o único sítio onde existiram.
Perguntas frequentes
QO meu token ou a minha chave são enviados para algum lado?+
Não. A descodificação, a verificação da assinatura e a assinatura correm dentro do seu navegador através da API Web Crypto. Não há componente de servidor para onde mandar seja o que for, e nada fica guardado entre visitas.
QConsegue mesmo verificar a assinatura?+
Sim, e é esse o sentido desta versão. Cole o segredo partilhado para HS256/384/512, ou uma chave pública PEM, um JWK ou um JWKS para RS, PS e ES. O navegador faz as contas e o veredicto é válida, inválida, ou um motivo com nome para a chave não ter servido.
QQue algoritmos são suportados?+
HS256, HS384, HS512, RS256, RS384, RS512, PS256, PS384, PS512, ES256, ES384 e ES512, mais EdDSA onde o navegador oferece Ed25519. O ES512 usa P-521, como a especificação exige.
QO que acontece com alg: none?+
É assinalado como token não protegido e a verificação recusa-o sempre. Um token sem assinatura é exatamente o ataque para o qual essa verificação existe, por isso nunca mostra o visto verde.
QPosso criar um token, e não apenas ler um?+
Sim. O separador de criação deixa editar o header e o payload, escolher o algoritmo, gerar na hora um segredo ou um par de chaves RSA/EC, e assinar. O resultado reabre no inspetor para verificar o que produziu.
QO que fazem as verificações de claims?+
Comparam o token com o que um verificador exigiria: exp, nbf e iat com o desvio de relógio que definir, uma idade máxima opcional, e o emissor, a audiência e o sujeito que o seu serviço espera. Cada linha passa, falha, ou é omitida se não a tiver pedido.