Um Guia Completamente para o Nosso Decodificador de JSON Web Token (JWT)
Bem-vindo ao nosso decodificador JWT seguro no lado do cliente. Esta ferramenta online gratuita é um utilitário essencial para qualquer desenvolvedor, profissional de segurança ou indivíduo que trabalha com sistemas de autenticação modernos. Ele permite decodificar instantaneamente JWTs (JSON Web Tokens) e inspecionar seu conteúdo em um formato limpo e legível por humanos. Basta colar seu token na área de texto e nossa ferramenta analisará o cabeçalho e o payload, exibindo-os como JSON formatado.
A característica mais importante deste decodificador JWT online é a sua segurança. Toda a decodificação e processamento acontecem 100% dentro do seu navegador. Seus tokens nunca são enviados para o nosso servidor. Esta abordagem no lado do cliente garante que suas informações confidenciais, como tokens de autenticação, chaves de API ou dados privados do usuário, permaneçam completamente privadas. Você pode depurar qualquer token JWT com total confiança.
O que é um JSON Web Token (JWT)?
Um JSON Web Token (JWT) é um padrão aberto compacto e seguro para URLs (definido pela RFC 7519) usado para transmitir informações com segurança entre partes como um objeto JSON. Como essas informações são assinadas digitmente, elas podem ser verificadas e são confiáveis. Os JWTs são stateless (sem estado) e autocontidos, o que significa que todas as informações necessárias para autenticar um usuário estão contidas no próprio token. Isso os torna uma escolha extremamente popular para aplicações web e móveis modernas, particularmente para lidar com autenticação e troca de informações.
Você pode identificar facilmente um JWT por sua estrutura de três partes, com cada parte separada por um ponto (.): cabeçalho.payload.assinatura.
As Três Partes de um JWT Explicadas
Ao usar nosso decodificador JWT, você está visualizando as versões decodificadas das duas primeiras partes do token.
1. O Cabeçalho (Metadados)
A primeira parte do token é o Cabeçalho JWT. É um objeto JSON codificado em Base64Url. Ele normalmente consiste em dois pares chave-valor:
- typ (Tipo): Isso declara o tipo do token, que é quase sempre "JWT".
- alg (Algoritmo): Especifica o algoritmo de assinatura usado para criar a assinatura. Algoritmos comuns incluem HS256 (HMAC com SHA-256, um algoritmo simétrico) e RS256 (RSA com SHA-256, um algoritmo assimétrico).
2. O Payload (Reivindicações)
A segunda parte do token é o Payload JWT. Esta parte também é um objeto JSON codificado em Base64Url e contém as "reivindicações" (claims). Reivindicações são declarações sobre uma entidade (normalmente o usuário) e dados adicionais. Existem três tipos de reivindicações:
- Reivindicações Registradas: São um conjunto de reivindicações predefinidas recomendadas pelo padrão JWT para garantir a interoperabilidade. Reivindicações registradas comuns incluem iss (Emissor), sub (Sujeito), aud (Audiência), exp (Tempo de Expiração), nbf (Não Antes), iat (Emitido Em) e jti (ID do JWT).
- Reivindicações Públicas: São reivindicações definidas por quem usa JWTs (como Google ou Microsoft) e normalmente são registradas no Registro de JSON Web Token da IANA.
- Reivindicações Privadas: São reivindicações personalizadas criadas para compartilhar informações entre as partes que concordam em usá-las. Por exemplo, você pode adicionar {"role"
Nosso visualizador de reivindicações JWT facilita a inspeção de todas essas reivindicações rapidamente.
3. A Assinatura
A terceira parte do token é a Assinatura JWT. Ela é criada pegando o cabeçalho codificado, o payload codificado, uma chave secreta (ou chave privada para algoritmos assimétricos) e executando-os através do algoritmo especificado (alg).
O propósito da assinatura é verificar a autenticidade do token. Ela garante que o token não foi alterado em trânsito. Se um invasor alterar até mesmo um único caractere no payload, a assinatura não será mais válida. É por isso que esta ferramenta não valida e não pode validar a assinatura — fazer isso exigiria a chave secreta, que nunca deve ser compartilhada ou colada em uma ferramenta online.
Como Usar Esta Ferramenta Decodificadora de JWT
- Copie Seu Token: Copie a string JWT completa (todas as três partes) do seu aplicativo, armazenamento local do navegador ou resposta da API.
- Cole o Token: Cole o token na área de texto no topo da página. Você também pode usar o botão "Carregar Exemplo" para ver um token válido.
- Clique em "Decodificar Token": A ferramenta analisará instantaneamente o token.
- Inspecione os Resultados: O Cabeçalho e o Payload serão exibidos em duas caixas JSON separadas e claramente formatadas abaixo, permitindo que você leia facilmente todas as reivindicações e metadados.
- Limpar: Clique no botão "Limpar" para recomeçar.
Cenários Comuns de Depuração
Um decodificador JWT é principalmente uma ferramenta de depuração. Hier estão os problemas comuns que você pode resolver com ele:
- Erros de "Token Expirado": Cole o token e verifique a reivindicação exp. Compare este timestamp Unix com o horário atual para ver se o token está de fato expirado.
- Permissão Negada: Decodifique o payload para verificar o cargo, escopos ou outras reivindicações personalizadas para garantir que o usuário tenha as permissões corretas.
- Usuário Não Encontrado: Inspecione a reivindicação sub (sujeito) para garantir que o ID de usuário correto está sendo enviado para o seu backend.
- Token Não Válido para Este App: Verifique as reivindicações aud (audiência) e iss (emissor) para garantir que correspondam ao que seu servidor está esperando.
Ferramentas de Desenvolvedor Relacionadas
Como os JWTs são baseados em outros padrões web, você pode achar estas ferramentas úteis em conjunto com o nosso decodificador:
- Formatador JSON: Se o seu payload contiver uma string JSON aninhada e minificada, você pode copiá-la do decodificador e embelezá-la aqui.
- Decodificador Base64: O cabeçalho e o payload do JWT são codificados em Base64Url. Esta ferramenta pode decodificar qualquer string Base64.
- Conversor de Timestamp Unix: Use isso para converter as reivindicações exp ou iat em uma data legível por humanos.