В настоящее время я пишу приложение командной строки NodeJS. Приложение выполняет вызов API и возвращает некоторые данные пользователю. Учитывая, что это общедоступный API, пользователю требуется токен API. Этот CLI будет установлен глобально на машине пользователя через npm i -g super-cool-api-cli
.Безопасное хранение данных в приложении CLI узла
При первом запуске CLI им предлагается токен, а затем я храню его так, что каждый последующий раз, когда он запускается, им не нужно его вводить. Я предоставил пользователю способ перезагрузите его. Я храню его в актуальном каталоге моего модуля CLI, который, как указано установлен во всем мире, и это выглядит примерно так:
fs.writeFile(__dirname+'/.token.json', JSON.stringify({ "token": token }, null, 2), 'utf8', (e)=>{
// error handling and whatever
});
I Название файла .token.json
, используя точку, по крайней мере, сделать файл скрытым по умолчанию.
Я предполагаю, что я спрашиваю, есть ли более безопасный способ хранения конфиденциальной информации в приложении командной строки NodeJS, который вы будете запускать более одного раза. Я думал об использовании таких вещей, как environment variables, но они, похоже, истекают в конце процесса.
Вопросы безопасности - это навык, который мне не хватает, но очень хочу узнать больше, поэтому заблаговременно за ваши советы.
Мне нужно сделать то же, что и вы, с помощью моего приложения CLI для узла. Я заметил, что вы не приняли никакого ответа, что вы в итоге сделали? Благодаря! –
@JoshPinter Мы закончили использование модуля под названием [buttercup] (https://buttercup.pw/) для хранения данных за паролем. [Было мало споров] (https://github.com/himynameisdave/git-labelmaker/issues/14) об этом, потому что это просто казалось простым. Проект [здесь] (https://github.com/himynameisdave/git-labelmaker) и имеет много активных пользователей, поэтому это решение, похоже, хорошо сработало для нас :) –
Интересно ... спасибо за ответный ответ ! Buttercup выглядит как приятная замена 1Password. Не думал об использовании его ядра для хранения паролей. Ура! –