Лучшая практика - хранение учетных данных API NodeJS - PullRequest
1 голос
/ 17 апреля 2020

В настоящее время я использую переменные среды для хранения учетных данных API в моем приложении nodejs.

Как лучше хранить их, если я хочу изменить учетные данные через пользовательский интерфейс во время выполнения?

Можно ли изменить переменные среды во время выполнения?

1 Ответ

0 голосов
/ 17 апреля 2020

Отвечая на ваш вопрос, да, это возможно. Документация Node.js гласит:

Свойство process.env возвращает объект, содержащий пользовательскую среду. Можно изменить этот объект, но такие изменения не будут отражены вне процесса Node.js.

См. Do c здесь: https://nodejs.org/api/process.html#process_process_env

Идея поместить переменные среды в отдельный файл, чтобы исключить любую уязвимость, которая может иметь ваше приложение, в результате чего третьи части не авторизованы для получения этих переменных. Я думаю, вы можете сделать это, но это не очень хорошая практика. Если этого не избежать, вы должны сохранить его в зашифрованном виде и быть восстановленным только с использованием указанного c ключа, предоставленного пользователем.

Например, AWS создает пару закрытых ключей publi c для управления доступ к экземплярам виртуальной машины EC2. Они шифруют пароли к этим экземплярам с помощью ключа publi c, и пользователь может восстановить только этот пароль, предоставив закрытый ключ .PEM

См. Здесь: https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-key-pairs.html

...