DEV Community

Determinado 96
Determinado 96

Posted on

Um resumo sobre JWT Token

O que é JWT Token?

JWT é um token usado para autenticação e autorização em aplicações web. Ele permite que o usuário faça login uma vez e depois apenas envie o token nas próximas requisições.

Analogia: É como se você se cadastrasse em um clube, pagasse a mensalidade e recebesse uma carteirinha; depois, basta mostrar a carteirinha para entrar sempre, sem precisar pagar ou se cadastrar novamente.

Estrutura do JWT

O JWT tem três partes: HEADER.PAYLOAD.SIGNATURE

  1. Header: contém o tipo do token e o algoritmo.
  2. Payload: contém os dados do usuário.
  3. Signature: assinatura para garantir que o token não foi alterado.

Exemplo:

{
  "alg":"HS256",
  "typ":"JWT"
}
{
  "id":18,
  "tipo":"USUARIO",
  "iat":1775408838,
  "exp":1775412438
}
Enter fullscreen mode Exit fullscreen mode

Como funciona o fluxo com JWT numa aplicação?

  1. Usuário faz login.
  2. Servidor gera o token com os dados do usuário.
  3. Servidor envia o token para o cliente.
  4. Cliente envia o token nas próximas requisições.
  5. Middleware valida o token.
  6. Middleware coloca os dados necessários em req.user.
  7. A rota usa os dados necessários que estão em req.user.

Boas práticas com Token

  • Não colocar senha no token.
  • Não colocar dados sensíveis.
  • Sempre definir expiração (exp).
  • Usar HTTPS.
  • Usar Refresh Token.

Top comments (0)