Lição 4
Erros comuns com JWT
Evite problemas comuns de validação e manipulação de JSON Web Token.
Bugs de JWT costumam vir de tratar um token compacto como se fosse registro de sessão confiável. O formato é simples, mas as regras de validação importam.
Confiar no payload decodificado
O payload é JSON legível. Qualquer um pode montar uma string com formato de token e campos arbitrários. Nunca conceda acesso só porque um payload decodificado tem admin: true ou um sub familiar.
Ignorar audience e issuer
Um token emitido para uma API não deve funcionar automaticamente em outra. Sempre cheque iss e aud conforme seu provedor de identidade e o limite do serviço.
Aceitar algoritmos inesperados
Aplicações devem permitir só os algoritmos que esperam. Bugs de confusão de algoritmo ocorrem quando o verificador aceita um valor de header que muda como assinaturas são checadas.
Tratar expiração de forma errada
Cheque exp contra o horário atual em segundos, não milissegundos. Defina também quanto skew de relógio o sistema tolera, especialmente entre serviços distribuídos.
Vazar tokens
JWTs são credenciais bearer com frequência. Quem tiver o token pode agir como o sujeito até expirar ou ser revogado. Evite tokens em logs, capturas de tela, issue trackers ou eventos de analytics.
Resumo
Decodificar ensina o que o token diz; verificar prova o que sua aplicação aceita. Centralize validação no backend e trate o decodificador como ferramenta de inspeção, não de autorização.
Revise claims comuns no Decodificador JWT e confirme no seu middleware se iss, aud e exp batem com a política real.