2015-03-31 2 views
2

хранить имя пользователя и пароль для подключения к базе данных вSails.js, где хранить учетные данные безопасности?

/config/connections.js 

Где бы я хранить что-то более общее, как учетные данные AWS?

Я полагаю, сохранение объекта, как показано ниже в некотором файле.

module.exports.aws = { 
key:'my key', 
secret: 'my token', 
bucket: 'my bucket' 
} 

, а затем использовать его как это:

req.file('image') 
    .upload({ 
    adapter:require('skipper-s3'), 
    key:aws.key, 
    secret:aws.secret, 
    bucket:aws.bucket, 
    }, function whenDone(err, uploadedFiles) { 
    } 

ответ

2

Никогда не хранить учетные данные в исходном коде. Использование переменных окружения:

{ 
    secret: process.env.MY_SECRET 
} 
+0

Да, если вы смотрите в AWS EB, это как AWS сказать вам, чтобы сделать это, как хорошо. Однако некоторые системы ограничивают количество переменных env, которые вы можете использовать. – Meeker

+0

Какова причина этого? Если у меня есть сценарий, который устанавливает переменные среды в процессе производства, прежде чем запускать паруса, это считается «в исходном коде»? –

+1

Если он находится в исходном коде, это исходный код. Это не относится к sailsjs, кстати, это общепринятые лучшие практики. –

0

Посмотрите на пакете NPM nconf Его большое, потому что она позволяет определить файл для загрузки конфигурации из при выполнении локального тестирования, но и для производства он может загрузить конфигурацию из переменной среды без какой-либо коды изменения.

Смежные вопросы