Рассмотрим случай, я отправил auth-token при входе в систему. Есть ли способ избежать попадания DB в validate каждый request, сделанный в node server.
auth-token
DB
validate
request
node server
Любая ссылка или описание будет полезно.
Да, вы можете сделать это в два этапа:
Во-первых, проверка токена JWT не должна вызывать БД. Обычно HMACSHA256 используется для подписания JWT. Если у вас есть ключ, вы сможете рассчитать MAC-адрес для входящей полезной нагрузки JWT и сравнить его с входящим MAC-адресом без каких-либо вызовов БД.
Для дополнительной безопасности вы можете хранить вновь созданные JWT в кеше в памяти (например, Redis) с TTL, который должен совпадать с периодом действия JWT. Когда истекает TTL, кеш автоматически удаляет запись JWT, что приводит к сбою проверки. Если по какой-либо причине кэш не синхронизируется с файловой системой и ваш сервер кэша падает, все, что вы теряете, - это действительные токены, заставляющие пользователей повторно входить в систему (Конечно, вы можете предпринять шаги, чтобы избежать этого в обычных сценариях). Таким образом, все, что вам нужно сделать, это сравнить входящий JWT с кэшированным списком. Если он находится в кеше, проверка прошла успешно