Novo post no blog: JWT: três erros que todo mundo comete na primeira implementação
Você copia o exemplo do PyJWT, funciona, e acha que está pronto. Mas a implementação padrão tem três problemas sérios: aceitar o algoritmo que o token declara, ausência de revogação, e segredo fraco.
Para cada erro: o mecanismo, como explorar, e como corrigir.

JWT: três erros que todo mundo comete na primeira implementação
Você abre o README do PyJWT, copia o exemplo de dez linhas, gera um token, valida do outro lado — e funciona. O token tem o user_id, expira em uma hora, a assinatura bate. O que pode estar errado? Bastante coisa. JWT é um dos padrões mais mal implementados em aplicações web, não porque seja complicado, mas porque os exemplos básicos funcionam mesmo com configurações que criam vulnerabilidades sérias. O código roda, os testes passam, e os problemas aparecem meses depois — ou não aparecem, porque ninguém tentou explorar.
