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
- Header: contém o tipo do token e o algoritmo.
- Payload: contém os dados do usuário.
- Signature: assinatura para garantir que o token não foi alterado.
Exemplo:
{
"alg":"HS256",
"typ":"JWT"
}
{
"id":18,
"tipo":"USUARIO",
"iat":1775408838,
"exp":1775412438
}
Como funciona o fluxo com JWT numa aplicação?
- Usuário faz login.
- Servidor gera o token com os dados do usuário.
- Servidor envia o token para o cliente.
- Cliente envia o token nas próximas requisições.
- Middleware valida o token.
- Middleware coloca os dados necessários em req.user.
- 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)