2015-03-31 128 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它的偉大,因爲它可以讓你定義要加載的文件從做本地測試時的配置,但生產它可以加載環境變量的配置,而無需任何代碼變化。