我创建了环境变量,可以安全地使用collectionFS,S3上传。
要访问这些变量,我在服务器上创建了这个文件:/server/lib/s3_keys.coffee
S3_keyId = process.env.S3_KEYID
S3_secretId = process.env.S3_ACCESS_KEY
Meteor.methods
s3_key: ->
if S3_keyId
S3_keyId
else
throw Error()
s3_secret: ->
if S3_secretId
S3_secretId
else
throw Error()
我在客户端上访问我的密钥:
@Images = new FS.Collection("images",
stores: [new FS.Store.S3("images",
accessKeyId: ->
Meteor.call(s3_key)#required if environment variables are not set
secretAccessKey: ->
Meteor.call(s3_secret)#required if environment variables are not set
bucket: "immondm" #required
)]
)
这是正确的做法还是有更好,更安全的方式?
答案 0 :(得分:0)
我还没有使用S3,但是
我认为你需要的是:link
答案 1 :(得分:0)
在将值硬编码到源文件中时,我通常会担心。 Meteor中有一个Mongodb - 将它放入只能由服务器访问的集合中可能有意义吗?