JWT Decodificador/

Seus dados são 100% privados -- JWT é totalmente decodificado e codificado diretamente no seu dispositivo.

JWT
Cabeçalho decodificado
Payload decodificado
Chave pública

Aprenda sobre JWT

Todas as informações que você precisa sobre JWT e um guia passo a passo para verificar JWT em diversas estruturas.

O que é JWT?

JWT (JSON Web Token) é um token autônomo e sem estado que carrega informações em um formato estruturado e legível. Quer você esteja protegendo uma API ou adotando autenticação baseada em tokens para seu aplicativo, os JWTs são uma ferramenta poderosa, porque eles:

  • Sem estado: Os JWTs são autônomos e não exigem estado do lado do servidor para validar. JWT pode garantir a integridade dos dados por meio de assinaturas.
  • Compatibilidade entre serviços: Os JWTs podem ser facilmente compartilhados e verificados entre diferentes serviços.
  • Extensível: O payload de um JWT pode conter claims personalizadas, permitindo autorização flexível e compartilhamento de informações.
Saiba mais

A estrutura do JWT

Um JWT típico é dividido em três partes, cada uma codificada em Base64URL e separada por pontos (.):

  • Cabeçalho - Contém metadados, como o algoritmo de assinatura (por exemplo, HS256 ou RS256) e o tipo de token (JWT).
  • Payload - Contém os dados reais, como ID de usuário, perfil de usuário, tempo de expiração ou escopos.
  • Assinatura - Uma combinação de hash do Cabeçalho, Payload e protegida usando uma chave secreta. Seu propósito é garantir a integridade do token e confirmar que não foi alterado

Essa estrutura permite que os JWTs forneçam uma maneira compacta e segura de transmitir informações entre partes.

jwt_structure

Claims comuns em tokens JWT

Os claims fazem parte do payload e contêm as informações principais. Aqui estão os Claims Registrados padronizados para sua referência:

ClaimsNome completoDescrição
issEmissorA entidade que emitiu o JWT, como o servidor de autorização.
subAssuntoIdentifica o sujeito do JWT, geralmente representando o usuário autenticado.
audAudiênciaEspecifica quais destinatários podem aceitar e processar o token. Isso pode ser um array de valores para múltiplas audiências ou um único valor para um único destinatário.
expTempo de ExpiraçãoDefine um tempo de expiração no token após o qual ele se torna inválido. Isso ajuda a prevenir ataques de repetição, limitando o tempo de validade do token.
nbfNão AntesTorna o token válido apenas após este timestamp. Útil em situações onde relógios não são acessíveis.
iatEmitido EmQuando o token foi criado. Isso pode ser usado para determinar a idade do token.
jtiID JWTUm identificador único para o token, útil para evitar que o mesmo token seja utilizado várias vezes (por exemplo, em ataques de repetição).

Dependendo da especificação e da configuração do servidor de autorização, claims adicionais podem ser incluídas no payload para suportar casos de uso específicos. Você também pode adicionar claims personalizadas ao JWT para atender requisitos de negócio únicos.

Cuidado: Não armazene informações privadas ou sensíveis em claims de JWT. Embora os claims de JWT sejam codificados (usando Base64URL), eles não são criptografados. Isso significa que qualquer pessoa com o token pode decodificá-lo e visualizar os claims, mesmo que não possa alterá-los sem invalidar a assinatura. Use criptografia ou outros métodos seguros para proteger dados sensíveis quando necessário.

Quando usar JWT?

Os JWTs podem ser particularmente benéficos nos seguintes cenários:

  1. Arquitetura de microsserviços: Para autenticação sem estado entre múltiplos serviços.
  2. Sistemas de Single Sign-On (SSO): Permite acesso a várias aplicações com uma única autenticação.
  3. Aplicativos móveis: Mantém sessões de usuário de forma eficiente durante chamadas de API.
  4. Aplicações de alto tráfego: Reduz a carga no banco de dados em ambientes de alto volume.
  5. Compartilhamento de recursos entre origens (CORS): Simplifica a autenticação entre múltiplos domínios.
  6. Arquiteturas serverless: Fornece autenticação sem estado onde sessões do lado do servidor são desafiadoras.
Saiba mais

Como verificar JWT?

A integridade de um JWT deve ser verificada para garantir que seu cabeçalho e payload não foram adulterados. Abaixo estão exemplos passo a passo para verificar JWTs em ambientes de programação populares:

Tópicos relacionados a JWT

Todas as informações que você precisa sobre JWT e um guia passo a passo para verificar JWT em diversas estruturas.

Desbloqueie mais com o Logto Cloud

Simplifique seu fluxo de trabalho e garanta uma gestão segura de usuários com o Logto Cloud. Construído sobre o OpenID Connect (OIDC), ele utiliza JWT para entregar um sistema de autenticação e autorização confiável, projetado para escalar com suas necessidades.