Активация, проверка, обновление и отмена JWT в ASP.NET Core, нужна ли реализация с Redis и MongoDb

Сейчас поясню о чем идет речь, а ниже жирным выделю сам вопрос. Пояснение Достаточно мало информации в гугле по JWT и ASP.NET Core, и все они достаточно похожи. Генерируются JSON Web Tokens через JwtSecurityTokenHandler, и дальше для реализации отмены токена обычно пишут отдельный кеш, в который складывают отклоненные токены. Я чуть-чуть заглянул в JwtSecurityTokenHandler и обнаружил что он имеет собственный кеш, который не нашел как можно обновить, или в целом почистить.

Вопросы

  1. Как долго хранятся токены в JwtSecurityTokenHandler? Может ли произойти переполнение кеша?
  2. Есть ли реализации с Redis без использования JwtSecurityTokenHandler для выдачи токенов?
  3. Что если реализовать свой TokenManager который при генерации нового токена не будет использовать JwtSecurityTokenHandler, токен будет записываться в Redis и MongoDb. Редис - для постоянного чтения, MongoDb - как долгое хранилище, если что-то пойдет не так и система упадет, тогда при новом старте редис наполнится данными из монги и пользователям не придется перелогиниваться. Это жизнеспособный подход, или есть какие-то подводные камни? Учитывая что система микросервисная, и в разных местах требуется проверка подлинности.

Заранее спасибо.


Ответы (0 шт):