JWT Descodificador/

Os teus dados são 100% privados -- o JWT é totalmente descodificado e codificado diretamente no teu dispositivo.

JWT
Cabeçalho descodificado
Carga útil descodificada
Chave pública

Aprender sobre JWT

Toda a informação que te preocupa sobre JWT e guia passo-a-passo para verificar JWT em diversos frameworks.

O que é JWT?

JWT (JSON Web Token) é um token auto-contido e sem estado que transporta informações num formato estruturado e legível. Se estás a proteger uma API ou a adotar autenticação baseada em token para a tua aplicação, os JWTs são uma ferramenta poderosa, porque:

  • Sem estado: Os JWTs são auto-contidos e não requerem estado do lado do servidor para validar. O JWT pode garantir a integridade dos dados através de assinaturas.
  • Compatibilidade entre serviços: Os JWTs podem ser facilmente partilhados e verificados entre diferentes serviços.
  • Extensível: A carga útil de um JWT pode conter reivindicações personalizadas, permitindo autorização flexível e partilha 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).
  • Carga útil - Contém os dados reais, como o ID do utilizador, perfil do utilizador, tempo de expiração ou escopos.
  • Assinatura - Uma combinação hash do Cabeçalho, Carga útil, e segura usando uma chave secreta. O seu propósito é assegurar a integridade do token e confirmar que não foi alterado.

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

jwt_structure

Reivindicações comuns de token em JWT

As reivindicações fazem parte da carga útil e contêm a informação chave. Aqui estão as Reivindicações Registadas padronizadas para tua referência:

ReivindicaçõesNome completoDescrição
issEmissorA entidade que emitiu o JWT, como o servidor de autorização.
subSujeitoIdentifica o sujeito do JWT, tipicamente representando o utilizador autenticado.
audAudiênciaEspecifica quais destinatários podem aceitar e processar o token. Isto 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 se torna inválido. Isto ajuda a prevenir ataques de repetição limitando o tempo que um token permanece válido.
nbfNão AntesTorna um token válido apenas após este carimbo de data/hora. Útil em situações onde os relógios não são acessíveis.
iatEmitido EmQuando o token foi criado. Isto pode ser usado para determinar a idade do token.
jtiID do JWTUm identificador único para o token, útil para prevenir que o mesmo token seja usado múltiplas vezes (por exemplo, em ataques de repetição).

Dependendo da especificação e da configuração do servidor de autorização, reivindicações adicionais podem ser incluídas na carga útil para suportar casos de uso específicos. Também podes adicionar reivindicações personalizadas ao JWT para atender a requisitos empresariais únicos.

Atenção: Não armazene informações privadas ou sensíveis nas reivindicações do JWT. Embora as reivindicações do JWT sejam codificadas (usando Base64URL), não são encriptadas. Isso significa que qualquer pessoa com o token pode descodificá-lo e visualizar as reivindicações, mesmo que não possa alterá-lo sem invalidar a assinatura. Use encriptação 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 microserviços: Para autenticação sem estado entre múltiplos serviços.
  2. Sistemas de sign-on único (SSO): Possibilitando acesso a múltiplas aplicações com uma autenticação.
  3. Aplicações móveis: Manter eficientemente as sessões de utilizador através de chamadas de API.
  4. Aplicações de alto tráfego: Reduzir a carga no banco de dados em ambientes de alto volume.
  5. Partilha de recursos entre origens diferentes (CORS): Simplificar a autenticação entre múltiplos domínios.
  6. Arquiteturas sem servidor: Fornecer 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 o seu cabeçalho e carga útil não foram adulterados. Abaixo estão exemplos passo-a-passo para verificar JWTs em ambientes de programação populares:

Tópicos relacionados com JWT

Toda a informação que te preocupa sobre JWT e guia passo-a-passo para verificar JWT em diversos frameworks.

Desbloqueie mais com a Logto Cloud

Simplifica o teu fluxo de trabalho e garante uma gestão de utilizadores segura com Logto Cloud. Construído sobre OpenID Connect (OIDC), utiliza JWT para fornecer um sistema de autenticação e autorização fiável, projetado para escalar com as tuas necessidades.