JWT (JSON Web Token)

Definição

JWT (JSON Web Token) é um formato de token compacto e seguro utilizado para transmitir informações entre sistemas de forma confiável.
Ele é amplamente usado em autenticação e autorização em aplicações web modernas.

Um JWT é composto por três partes codificadas em Base64:

  1. Header: define o algoritmo de assinatura e o tipo do token.

  2. Payload: contém os dados (claims) que serão transmitidos.

  3. Signature: é a assinatura digital usada para verificar a integridade e autenticidade do token.

Objetivos do JWT

  • Autenticar usuários de forma stateless: não é necessário armazenar sessões no servidor.

  • Transmitir informações com segurança: os dados são assinados digitalmente.

  • Base para Single Sign-On (SSO): utilizado em sistemas que compartilham autenticação.

  • Facilitar a comunicação entre serviços: especialmente em arquiteturas baseadas em APIs e microsserviços.

Exemplo prático — Estrutura de um JWT

eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6Ik1hcmlhIiwiaWF0IjoxNTE2MjM5MDIyLCJleHAiOjE1MTYyNDI2MjJ9.GXdh-vFiR1Qn4GYhsPYaLqgfpL0IKnn2HjEvox_6SE4
  1. Header (cabeçalho)
{
  "alg": "HS256",
  "typ": "JWT"
}
  1. Payload (corpo do token)
{
  "sub": "1234567890",
  "name": "Maria",
  "iat": 1516239022,
  "exp": 1516242622
}
  1. Signature (assinatura)

A assinatura é gerada com uma chave secreta para garantir a integridade do token.

O ciclo do JWT

[Usuário autentica] --> [Servidor gera JWT] --> [Cliente envia JWT em requisições] --> [Servidor valida assinatura e extrai dados]
  • O token pode ser enviado no cabeçalho Authorization: Bearer <token>.

  • O servidor valida a assinatura a cada requisição, sem guardar estado.

Segurança

  • Os dados do JWT não são criptografados por padrão, apenas assinados.

  • Nunca armazene informações sensíveis no payload.

  • Tokens devem ter tempo de expiração e, idealmente, serem transmitidos via HTTPS.

Relacionados

Política de Privacidade

Copyright © www.programicio.com Todos os direitos reservados

É proibida a reprodução do conteúdo desta página sem autorização prévia do autor.

Contato: programicio@gmail.com