Meteor如何在本地安全访问环境变量(CollectionFS S3)
我创建了环境变量来安全地处理collectionFS、S3上传 为了访问这些变量,我在服务器上创建了这个文件:/server/lib/s3_keys.coffeeMeteor如何在本地安全访问环境变量(CollectionFS S3),meteor,Meteor,我创建了环境变量来安全地处理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
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
)]
)
这是正确的方法还是有更好、更安全的方法?我还没有使用S3,但是
- 存储必须在服务器端定义,而不是在客户端定义
- Meteor.methods由客户端调用,这意味着即使您不向用户显示调用的答案,也可以通过web控制台手动调用来显示
我想您需要的是:我通常担心将值硬编码到源文件中。Meteor中有一个Mongodb,将其放入一个只能由服务器访问的集合中可能有意义吗