2015-03-31 91 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 2015-03-31 19:46:06

+0

背后的原因是什么?如果我有一个脚本在运行sails之前在生产环境中设置环境变量,那么它会被视为“在源代码中”? – 2015-04-01 01:02:24

+1

如果在源代码控制中,它是源代码。这种方式并不符合sailsjs,它通常被认为是最佳实践。 – 2015-04-01 01:47:39

0

看一看故宫包nconf它的伟大,因为它可以让你定义要加载的文件从做本地测试时的配置,但生产它可以加载环境变量的配置,而无需任何代码变化。