SSL và bảo mật 114 visualizações

Como usar JWT (JSON Web Token) para autenticação de API

Ver no WHMCS

Como usar JWT (JSON Web Token) para autenticação de API com segurança — Guia para Iniciantes

Olá, viajante da web! Seja muito bem-vindo(a) ao nosso Sensei da GeHost — aqui, ensinamos com carinho, clareza e um toque de magia digital. Hoje vamos aprender juntos como usar JWT (JSON Web Token) para autenticar APIs com segurança. Sim, é mais simples do que parece!

Dica do Sensei: JWT é como um "passaporte digital" que permite que um sistema confie em outro — sem precisar de senhas toda vez. É seguro, leve e muito usado no mundo moderno da programação.

Passo 1: Entenda o que é JWT

Imagine que você está entrando em um clube exclusivo. Em vez de mostrar seu documento toda vez, você ganha um cartão especial (o JWT) que diz: "Este é o João, ele tem acesso permitido". Esse cartão tem uma assinatura digital que ninguém pode falsificar.

Um JWT é composto por três partes:

  • Cabeçalho – diz que é um JWT e o tipo de assinatura usada.
  • Payload – contém informações como ID do usuário, tempo de expiração, permissões.
  • Assinatura – evita que o token seja alterado.

Essas partes são separadas por pontos: header.payload.signature.

Passo 2: Crie um sistema de autenticação com JWT

Vamos supor que você está desenvolvendo uma API para um app de tarefas. Quando o usuário se loga, em vez de armazenar sessões no servidor, você gera um JWT e envia para o cliente.

Passos simples:

  1. O usuário envia seu email e senha para a rota de login.
  2. O servidor verifica as credenciais.
  3. Se estiver tudo certo, o servidor cria um JWT com dados do usuário.
  4. Esse JWT é enviado de volta ao cliente.
  5. O cliente armazena o JWT (por exemplo, no localStorage do navegador).

Depois disso, toda vez que o cliente precisar acessar uma rota protegida da API, ele envia o JWT no cabeçalho da requisição:

Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

Passo 3: Proteja sua API com JWT no servidor

No seu servidor (seja em Node.js, PHP, Python, etc.), você deve:

  • Validar o JWT sempre que uma rota protegida for acessada.
  • Verificar se o token não expirou.
  • Confirmar a assinatura para garantir que o token não foi alterado.

Se tudo estiver certo, o usuário tem acesso. Se não, a API recusa a requisição com um código 401 (não autorizado).

Dica do Sensei: Nunca confie em dados do JWT sem validá-los no servidor. Mesmo que o cliente envie um token, você deve verificar sua autenticidade!

Passo 4: Use SSL/TLS para proteger o JWT em trânsito

Um JWT é seguro apenas se estiver sendo transmitido com segurança. Se ele for enviado por HTTP (não seguro), qualquer pessoa na rede pode pegar o token e se passar pelo usuário.

Por isso, é essencial que sua API use SSL/TLS — ou seja, HTTPS.

Na GeHost, você pode ativar o SSL com apenas alguns cliques:

Tela 'SSL/TLS Certificates' no cPanel com opção para emitir certificado

Na tela acima, clique em “Emitir Certificado” e siga os passos. Em poucos minutos, seu site estará rodando em HTTPS — e seus JWTs estarão seguros em trânsito.

Passo 5: Dicas práticas para manter tudo seguro

  • Defina tempo de expiração curto para o JWT (ex: 15 a 30 minutos).
  • Não armazene dados sensíveis no payload (como senha ou CPF).
  • Use chaves fortes para assinar o JWT (ex: HMAC-SHA256).
  • Considere usar tokens de atualização (refresh tokens) para manter o usuário logado sem expor o JWT por muito tempo.

Dica do Sensei: Um JWT bem usado é como um guarda-freio digital: protege sua API e deixa o usuário se sentir seguro ao usar seu app.

Conclusão

Usar JWT para autenticação de API é uma prática moderna, segura e eficiente. Com a ajuda do SSL/TLS da GeHost e um bom entendimento dos princípios, você consegue proteger seus dados com elegância.

Se você está começando, não se preocupe. Todos os grandes desenvolvedores já passaram por esse caminho. O importante é começar — e você já começou com um passo seguro.

Se precisar de ajuda, estamos aqui. A GeHost é sua parceira na jornada digital. 💚

Precisa de Ajuda?

Nossa equipe está pronta para resolver suas dúvidas.