Comentando sobre a necessidade de persistência, pode ser interessante implementar para que seja possível a funcionalidade de anular os JWTs já emitidos. Dessa maneira, seria necessário verificar na base de dados se o token ainda é válido antes de autenticar.

Obs.: caso queria inserir informações sensíveis no token, existe o conceito de JWE (superficialmente, jwt encriptado).

Acaba que ficou assim, indiretamente. eu não estou armazenando o token em sim, mas eu mapeio o dispositivo e gero um pass, que armazeno no token e, no servidor, armazeno o rash.

o que faço a cada requisição é validar este rash. se o token invalidado (por exemplo, o usuario desconectando dispositivos, este rash já não será mais válido)