2016-10-05 2 views
0

Я создаю сервер API NodeJS, который будет делегировать аутентификацию серверу oauth2. В то время как я мог хранить ключ и секрет вместе с исходным кодом, я хочу избежать этого, поскольку он чувствует себя как риск для безопасности, и это то, что не соответствует продолжительности обновления обновления сервера (вероятно, ключ/секретное обновление случаются чаще).NodeJS и сохранение учетных данных OAuth за пределами базы кода?

Я мог бы хранить его в базе данных или, возможно, в переходном json-файле, но я хотел бы знать, какие считаются лучшими практиками в мире NodeJS или то, что считается приемлемым. Любые предложения приветствуются.

ответ

0

Так как я хотел, чтобы обеспечить то, что может хранить несколько значений, I только что созданный файл в формате JSON, а затем прочитал, что в модуле I называется хранилище ключей (с использованием класса ES6):

class KeyStore { 

    load() { 
    // load the json file from a location specified in the config 
    // or process.env.MYSERVER_KEYSTORE 
    } 

    get (keyname) { 
    // return the key I am looking for 
    } 

} 

module.exports = new KeyStore(); 

Я бы в идеале хотели бы сохранить файл зашифрован, но сейчас я просто хранить его только для чтения в текущий пользователь в семье e.

Если есть другой способ, это считается «лучше», тогда я открыт для этого.

0

Одним из вариантов было бы установить переменные окружения, как часть вашего развертывания, а затем получить доступ к ним в коде из глобального process объекта:

var clientId = process.env.CLIENT_ID 
var clientSecret = process.env.CLIENT_SECRET 
Смежные вопросы