Todo mundo que trabalha com algum sistema Web com certeza usa ou pelo menos conhece esse tal desse JWT (e se não conhece, provavelmente tá fazendo merda).
A autenticação de um software Web não é algo que o desenvolvedor vá ter que se preocupar no dia a dia dele matando bugs, porquê, geralmente, ele estará preocupado com os problemas demandados em sua equipe, quando o cenário é: ele já tem tudo pronto. É só criar telas, usar o framework, fazer um ajuste aqui e ali no código e acabou as 8 horas de trabalho do dia.
Tem informações muito preciosas aqui neste post para quem é arquiteto de soluções, ou faz projetos de SPA que exigem autenticação em JWT e tem que começar do completo zero. Esses sim, provavelmente estão fazendo alguma "caca".
Quando eu estava participando de uma equipe em que tivemos que criar do zero, eu fiquei responsável pela autenticação e autorização. Um dos problemas que eu causei foi ter que guardar o token do usuário numa tabela. Isso mesmo, você não leu errado. Toda vez que o usuário fazia alguma requisição na API, um middleware fazia essa verificação para saber se o token ainda estava válido, ou se o usuário tinha sido bloqueado. E para invalidar um token, tinha uma coluna chamada IsValid, e bastava colocar como False que o token era invalidado.
Na época, eu gostaria de ter lido seu post.