Executando verificação de segurança...
3

O "Calcanhar de Aquiles" do JWT
Ele tem um problema estrutural que você precisa resolver no seu design: Revogação.

Esse é um problema da tecnologia ou é a tecnologia sendo usada de uma forma que ela não foi proposta?

JWT é feito para autenticação, não autorização

JWT serve únicamente com o propósito de dizer "A pessoa que está acessando o seu sistema é a pessoa real"

Se você precisa revogar é porque a pessoa não tem mais a autorização de acessar esse recurso. A pessoa continua sendo ela, só não tem mais os poderes que ela tinha.

E o JWT nunca foi feito para autorizar um acesso

Carregando publicação patrocinada...
1

Sim, faz bastante sentido isso.
Mas esse uso pra autorização foi meio inevitável pelo mesmo motivo do de autenticação.
Ele pode não ter sido planejado pra isso, mas se a gente tiver que bater no banco de dados a cada requisição para checar as permissões, a gente mata a escalabilidade que o stateless prometeu.

4

Por isso em sistemas de alta concorrência são usadas técnicas de cache multinível.

Memória <> Cache distribuída <> DB

a gente mata a escalabilidade que o stateless prometeu.

Sem falar que 99% dos projetos que usam JWT hoje para autorização sequer são escalados, uma consulta no banco não vai fazer diferença nenhuma.

Sistemas realmente escaláveis precisam ter soluções próprias adequados para a sua necessidade