Хранение токена на стороне сервера с помощью nestjs - PullRequest
0 голосов
/ 29 мая 2020

У меня есть приложение js, которое использует сторонний API для данных. Чтобы использовать этот сторонний API, мне нужно передать токен доступа. Этот токен доступа распространяется на все приложение и не привязан ни к одному пользователю.

Как лучше всего хранить такой токен в Nest js, отвечающем следующим требованиям:

  • Он должен быть доступен в приложении, а не для конкретного пользователя
  • Он не должен быть доступен для внешнего приложения
  • Он должен работать в настройке балансировщика нагрузки

Я смотрю на Nest js caching https://docs.nestjs.com/techniques/caching, но я не уверен, что это лучшая практика, и если это так - следует ли мне использовать его с хранилищем в памяти или чем-то вроде redis.

Спасибо.

1 Ответ

1 голос
/ 29 мая 2020

Если вы работаете с балансировкой нагрузки, тогда решения в памяти не работают по прибытии, поскольку они будут влиять только на один экземпляр вашего сервера, а не на все из них. Лучшим выбором для повышения скорости и доступности будет Redis, сохраняющий токен под простым ключом и поддерживающий его оттуда (и обновляющий его по мере необходимости). Просто убедитесь, что все ваши экземпляры подключены к одному и тому же экземпляру Redis, и что ваш экземпляр может справиться с этим, не должно быть проблемой, скорее выноска

...