Ferramentas de desenvolvimento
Depurador on-line JSON Web Token

Decodificação JWT on-line

Inspecione um cabeçalho e uma carga útil do JSON Web Token. Esta ferramenta não valida assinaturas e o processamento fica no seu navegador.

Entrada de token JWT

Cole o JWT abaixo para decodificar, inspecionar e verificar instantaneamente.

Aguardando entrada JSON Web Token.

Cabeçalho de decodificação

JSON
Após colar o JWT, o conteúdo analisado será exibido aqui.

Decodificar carga útil

Reivindicações
Após colar o JWT, o conteúdo analisado será exibido aqui.

Verificação de assinatura JWT

Selecione
A assinatura será exibida aqui após a decodificação.

Insira o segredo a ser usado ao emitir o JWT. A verificação do HS256 é realizada nativamente no seu navegador.

JWT

Como usar a decodificação JWT online?

  1. Cole o token JWT completo.
  2. Pressione "Decode JWT" para analisar cabeçalho, carga útil e assinatura.
  3. Quando precisar confirmar a assinatura, insira o segredo e use “Verificar Assinatura”.
JSON

O que é JSON WebToken?

JWT é um formato de token comumente usado para login, verificação de API e autorização entre serviços. Consiste em três seções: Cabeçalho, Carga útil e Assinatura.

O conteúdo da carga útil pode ser decodificado e lido, e informações confidenciais não devem ser colocadas em declarações JWT.

SH

Verificação e segurança JWT

Esta página oferece suporte à verificação e geração de assinatura HS256, facilitando a verificação se o token do ambiente de teste foi criado com o mesmo segredo.

Toda a decodificação, codificação e verificação de assinatura do JWT são feitas nativamente no navegador.

BASE DE CONHECIMENTO JWT SEO

Guia completo para decodificação JWT online: o que é JSON Web Token, como verificá-lo e como usá-lo com segurança

Se você estiver procurando por "JWT Decoder", "JWT Decoder", "JSON Web Token Parsing", "JWT Verify" ou "JWT Encoder", geralmente significa que você já possui um token e precisa entender rapidamente seu cabeçalho, carga útil, tempo de expiração, algoritmo de assinatura e declarações. Esta página não apenas fornece ferramentas de decodificação JWT on-line, mas também organiza o conhecimento básico de JWT sobre o qual os desenvolvedores frequentemente consultam.

O que é JWT?

JWT é a abreviatura de JSON Web Token. É um formato de token que usa JSON para representar informações e depois as converte em uma string simplificada. É frequentemente usado em sites de separação de front-end e back-end, API de aplicativos, login de membros, SSO de logon único, autorização de microsserviços e troca de dados entre serviços.

A decodificação JWT não requer senha porque o cabeçalho e a carga útil são codificados apenas em Base64URL, não criptografados. Qualquer pessoa que obtiver o token pode usar o decodificador JWT para ver o conteúdo da carga útil, portanto, as declarações não podem conter senhas, chaves de API ou informações pessoais confidenciais.

Quando usar JWT?

O caso de uso mais comum é a autorização. Depois que o usuário efetua login com êxito, o servidor de autorização emite um JWT. Quando o front-end ou aplicativo chama posteriormente a API, o token é colocado no cabeçalho de autorização HTTP, como Authorization: Bearer .

JWT também é comumente usado para troca de informações. Quando dois sistemas precisam trocar dados verificáveis, as assinaturas permitem que o receptor confirme que os dados não foram alterados durante a transmissão. O endpoint JWKS é comumente usado em grandes sistemas para expor chaves públicas para que diferentes serviços possam verificar a origem do token.

Estrutura JWT de três seções: cabeçalho, carga útil, assinatura

Um JWT padrão geralmente consiste em três strings Base64URL separadas por períodos: Header.Payload.Signature. A primeira seção do cabeçalho descreve o tipo de token e o algoritmo de assinatura, a segunda seção do Payload contém declarações e a terceira seção da assinatura é usada para verificar a integridade.

Reivindicações registradas comuns incluem iss, sub, aud, exp, nbf, iat e jti. Uma boa validação de API geralmente verificará pelo menos exp, iss e aud.

Como funciona o JWT em login e API?

O processo típico é: o usuário efetua login, autoriza o servidor a verificar a senha da conta ou o resultado do login de terceiros e, em seguida, emite um token de acesso; o front-end anexa o token de acesso à solicitação da API; a API de back-end verifica o token e retorna dados protegidos.

JWT não é um substituto de sessão universal. Depois que um token é emitido, ele geralmente pode ser verificado sem verificar o banco de dados antes de expirar. No entanto, a revogação de token, as alterações instantâneas de permissão e o processamento de logout ainda precisam ser projetados.

Qual é a diferença entre validação JWT e verificação JWT?

A validação JWT geralmente se refere a verificar se o token atende às regras esperadas, como se possui três segmentos, se pode ser decodificado, se o JSON é legal, se expirou, se o emissor está correto e se o público está em conformidade com a API atual.

A verificação JWT usará o algoritmo e a chave especificados para recalcular a assinatura e, em seguida, compará-la com a terceira assinatura do token. Ser capaz de compreender a carga útil não significa que o token seja confiável; a API oficial deve passar por verificação de selo e verificação de reivindicações.

Qual é a diferença entre decodificação JWT e codificação JWT?

JWT Decode converte o primeiro e o segundo parágrafos do token de volta para JSON, permitindo que você leia o cabeçalho e a carga útil. JWT Encode é o processo inverso: preparar Header JSON e Payload JSON, gerar assinatura e, finalmente, combiná-los em um token completo.

Se você deseja apenas ver o conteúdo da carga útil, não precisa de segredo; se quiser confirmar se o token é realmente emitido pelo seu sistema, você deve usar o segredo ou a chave pública correta para verificar a assinatura. Atualmente esta página suporta HS256.

Comparação de declarações JWT: quais campos devo examinar após a decodificação?

Ao usar a decodificação JWT online, você também deve verificar quem emitiu o token, para qual sistema ele foi emitido, quando entra em vigor, quando expira e se o escopo da permissão atende aos requisitos da API. A tabela a seguir resume declarações JWT comuns.

ReivindicarSignificado chinêsO que verificar ao depurar
issoEmissor, emissorQuer seja o seu servidor de autorização ou um provedor de identidade confiável.
substitutoAssunto, usuário ou ID principalSe corresponde ao usuário, membro, conta de serviço ou dispositivo correto.
audPúblico, público simbólicoSe deve ser enviado para a API atual; erros de audiência geralmente causam 401.
experiênciaTempo de expiração, tempo de expiraçãoSe expirou; observe a diferença no carimbo de data/hora Unix e na exibição do fuso horário.
nbfNão antes, tempo efetivoSe o tempo útil ainda não chegou; o desvio do horário do servidor também o afetará.
issoEmitido em, hora da emissãoCorresponde ao horário real do login ou do token de atualização.
jtiID JWT, ID exclusivo do tokenSe pode ser usado para listas de revogação, registros de auditoria ou proteção contra ataques de repetição.
escopoEscopo de autoridadeSe existem as permissões de leitura, gravação, administração e outras exigidas pela API.

Como escolher entre HS256, RS256 e ES256?

alg no cabeçalho JWT informará ao verificador qual algoritmo deve ser usado. HS256 é HMAC SHA-256 e tanto a emissão quanto a verificação usam o mesmo conjunto de segredos; RS256 usa assinatura de chave privada RSA e verificação de chave pública; ES256 usa algoritmo de curva elíptica.

O back-end deve especificar claramente a lista de algoritmos permitidos para evitar que invasores afetem o processo de verificação modificando o cabeçalho. Se o JWT vier de um provedor de identidade, geralmente obtenha o JWKS ou a chave pública e verifique kid, iss, aud, exp.

Erros comuns de JWT e métodos de solução de problemas

Os problemas mais comuns encontrados ao usar o decodificador JWT são que o token não está no formato padrão de três segmentos, a string Base64URL é copiada incompletamente, há espaços em branco antes e depois, a carga útil não é JSON legal ou o segredo de assinatura é usado incorretamente. Se a API retornar 401 ou 403, é recomendável decodificar o JWT primeiro e confirmar exp, aud e scope.

Lista de verificação de depuração JWT
  • Se o token está no formato de três segmentos header.payload.signature.
  • Se o cabeçalho de autorização usa o esquema Bearer.
  • Se exp expirou e se a hora do servidor está sincronizada.
  • Se iss e aud são consistentes com o ambiente atual.
  • Se o segredo HS256 é totalmente consistente com o fim da emissão.
  • Se RS256/ES256 usa a chave pública correta e kid.
  • Se as declarações de permissão contêm o escopo ou a função exigida pela API.

Quais são as diferenças entre JWT, Sessão e SAML?

A sessão geralmente salva o estado no servidor ou armazenamento centralizado, e o navegador salva apenas o ID da sessão; O JWT coloca parte do estado no token, para que a API possa usar a assinatura para verificar a integridade. SAML é baseado em XML e é comumente usado em SSO corporativo.

PlanoAdequado para a situaçãoCoisas a serem observadas
JWTAutorização de API, token de acesso SSO, microsserviçosÉ necessário controlar o prazo de validade, verificação de selos, revogação e vazamento de informações sensíveis.
SessãoSites tradicionais que exigem logout imediato ou controle de status centralizadoÉ necessário um armazenamento de sessão no lado do servidor e a expansão entre serviços requer design adicional.
SAMLIntegração de identidade empresarial, sistemas legados de SSOAs estruturas XML são maiores e as assinaturas e configurações geralmente são mais complexas.

Conselho de segurança JWT: SEO de chapéu branco também deve anotar os riscos claramente

  • Não coloque senhas, chaves privadas, chaves de API, informações de pagamento ou informações pessoais confidenciais no JWT Header ou Payload.
  • Defina uma exp razoável e não torne o token de acesso válido por muito tempo.
  • Os algoritmos permitidos devem ser corrigidos durante a verificação de back-end e não confie cegamente no alg do cabeçalho.
  • Use um segredo HS256 suficientemente longo e aleatório; não use segredos de exemplo em ambientes de produção.
  • Verifique iss, aud, nbf, iat com as reivindicações de permissões necessárias.
  • Evite colocar uma lista de permissões muito grande no JWT para evitar tornar o cabeçalho muito grande ou causar vazamento de dados.
  • Os tokens de armazenamento front-end precisam avaliar XSS, CSRF, atributos de cookies e riscos de armazenamento do navegador.

Esta ferramenta de decodificação JWT online usa processamento nativo do navegador: o token, segredo, JSON de cabeçalho e JSON de carga útil que você cola não serão carregados no servidor ToolBoy. Mesmo assim, o princípio da divulgação mínima ainda deve ser seguido quando se trata de tokens de produção reais.

O JWT geralmente aparece no processo de depuração da API junto com JSON, Base64URL, consulta de URL, carimbo de data/hora, SHA-256, UUID, regex e outros formatos de dados. Você pode usar a ferramenta de formatação JSON, codificação e decodificação Base64, Unix Timestamp conversão ou gerador de UUID.

Para leitura adicional, consulte Introdução ao JSON Web Token do jwt.io e RFC 7519. O conteúdo desta página foi reorganizado e reescrito em chinês, com foco na depuração prática, SEO de chapéu branco e privacidade nativa.

Perguntas frequentes sobre decodificação JWT on-line

A decodificação JWT online verificará a assinatura?
A decodificação do cabeçalho e da carga útil não equivale à verificação da assinatura; para confirmar se o token foi adulterado, insira o mesmo segredo e execute Verify.
O JWT Payload pode conter senhas ou chaves?
Não recomendado. Geralmente, o JWT é codificado apenas em Base64URL e qualquer pessoa que obtiver o token pode ler a carga útil.
O codificador JWT é adequado para emissão oficial de tokens?
Esta ferramenta é adequada para desenvolvimento, teste e depuração. O ambiente formal deve ter tokens de emissão do serviço de back-end e gerenciar adequadamente segredos ou chaves privadas.