Tarayıcınız güncel değil

Bu siteyi görüntülemek için tarayıcınızın veya cihazınızın işletim sisteminin güncellenmesi gerekiyor.

Your browser is out of date. Please update iOS or your browser to view this site.

Ir para o conteúdo principal
Gizke.com
Blog

Decodificador JWT

Funciona no seu dispositivo. Nada é enviado.

Decodifique e inspecione JSON Web Tokens no navegador – cabeçalho, payload, expiração e verificação de assinatura opcional. Nada é enviado.

Um JSON Web Token (JWT) é uma forma compacta e segura para URLs de representar claims entre duas partes - usado em todo lugar, de cabeçalhos "Authorization: Bearer ..." a cookies de sessão e single sign-on. Um JWT é apenas três partes codificadas em base64url (cabeçalho, payload, assinatura) unidas por pontos, então qualquer um pode decodificar e ler o cabeçalho e o payload sem precisar da chave de assinatura - apenas verificar a assinatura exige um segredo ou chave privada. Esta ferramenta decodifica ambas as partes localmente no seu navegador, explica as claims padrão, sinaliza um token expirado ou ainda não válido, e alerta sobre a armadilha de segurança do algoritmo "none" - seu token nunca é enviado para lugar nenhum.

Perguntas frequentes

Meu JWT é enviado a um servidor?
Não. A decodificação acontece inteiramente no seu navegador usando as Web APIs atob e TextDecoder - o token, e qualquer segredo ou chave pública que você cole para verificar uma assinatura, nunca saem do seu dispositivo.
Esta ferramenta consegue verificar a assinatura?
Sim, como um bônus de melhor esforço. Se você souber o segredo HMAC (para HS256/384/512) ou colar a chave pública codificada em PEM (para RS256/384/512 ou ES256/384/512), a ferramenta verifica a assinatura localmente usando a Web Crypto API do navegador. Sem uma chave, apenas o cabeçalho e o payload são decodificados e exibidos - a decodificação nunca exige a chave de assinatura.
Por que o algoritmo aparece como "none"?
"alg": "none" significa que o token não está assinado de forma alguma - qualquer um poderia ter escrito quaisquer claims nele. Algumas bibliotecas historicamente aceitaram esses tokens sem assinatura como válidos, o que se tornou uma forma conhecida de burlar a autenticação. Esta ferramenta sempre sinaliza isso com destaque para que você não deixe passar.
O que significam exp, iat e nbf?
São as claims padrão de timestamp da RFC 7519: iat indica quando o token foi emitido, nbf o primeiro momento em que se torna válido, e exp quando deixa de ser. As três são armazenadas como um NumericDate - segundos desde o epoch Unix -, que esta ferramenta converte em uma data legível e um tempo relativo como "expira em 2 horas".
Por que consigo ler o payload sem um segredo?
Porque o cabeçalho e o payload de um JWT são apenas codificados em base64url, não criptografados - codificação não é sigilo. Qualquer um com o token já pode ler suas claims; a assinatura apenas prova que não foram alteradas por alguém sem a chave. Nunca coloque algo que você não queira que um atacante leia diretamente dentro do payload de um JWT.
Meu token tem 3 partes mas ainda assim não decodifica - por quê?
Cada um dos três segmentos (cabeçalho, payload, assinatura) precisa ser texto base64url válido, e o cabeçalho e o payload precisam decodificar para JSON válido. Esta ferramenta decodifica o cabeçalho e o payload de forma independente e diz exatamente qual deles está quebrado e por quê (base64 ruim, UTF-8 ruim ou JSON inválido), em vez de simplesmente falhar silenciosamente.
Para desenvolvedores: abra esta página com um parâmetro `token` na URL - ex. gizke.com/jwt?token=eyJhbGciOiJIUzI1NiJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIn0.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c - e esse token será preenchido automaticamente. A maioria dos visitantes não vai precisar disso; serve para criar um link direto para um exemplo pronto para uso.

Compartilhe esta ferramenta

BlogSobreContatoTermos de UsoPolítica de Privacidade