~ / blog / Segurança de APIs com JWT: emissão, vali
27 set 2026segurança11 min de leitura

Segurança de APIs com JWT: emissão, validação e armadilhas

Como emitir e validar JWT sem abrir brechas: alg, expiração, refresh, storage no browser e revogação prática.

APIJWTauth

1. Access + refresh

Access token curto (5–15 min) para API. Refresh token longo, rotacionado, guardado com mais cuidado. Não use um único JWT eterno.

2. Emitir com cuidado

// Node exemplo (biblioteca jsonwebtoken)
const access = jwt.sign(
  { sub: user.id, role: user.role },
  process.env.JWT_SECRET,
  { algorithm: "HS256", expiresIn: "10m" }
);
ATENÇÃO Nunca aceite alg: none. Fixe o algoritmo na verificação. Troque segredos com rotação documentada.

3. Validar de verdade

  • Verificar assinatura e algoritmo
  • Checar exp, nbf, iss, aud
  • Autorizar por papel/escopo no endpoint, não só “token válido”
jwt.verify(token, secret, {
  algorithms: ["HS256"],
  issuer: "https://api.exemplo.com",
  audience: "app"
});

4. Onde guardar no browser

LocalStorage é simples e vulnerável a XSS. Cookie HttpOnly + Secure + SameSite reduz roubo via JS. Em SPAs, combine CSP forte e refresh em cookie.

5. Checklist

  • HTTPS em todo o caminho
  • Access curto + refresh rotativo
  • Algoritmo fixo na validação
  • Rate limit em login e refresh
  • Plano de revogação (deny-list ou versionamento de token)

Quer aplicar isso ao seu contexto?

Se esse problema existe na sua operação, podemos analisar o cenário em um diagnóstico gratuito de 30 minutos.

solicitar diagnóstico gratuito →