Deployment 什么';部署Meteor应用程序时,保护密钥的最佳方法是什么?

Deployment 什么';部署Meteor应用程序时,保护密钥的最佳方法是什么?,deployment,configuration,meteor,Deployment,Configuration,Meteor,我正在将Filepicker.io连接到我的meteor应用程序,以便上传文件。该服务有一个API密钥(当然)他们建议保守秘密。我在github上发现了另外两个示例应用程序,其中filepicker机密位于客户端代码中的普通站点中。这似乎有点不稳定。即使它不在公共回购协议中,因为它是在客户端代码中指定的,我也可以使用Javascript控制台从应用程序中获取密钥(如果我需要的话) 我想知道有没有一种方法可以在应用程序(比如heroku config)中隐藏秘密,从而使密钥保密变得容易 我目前的计

我正在将Filepicker.io连接到我的meteor应用程序,以便上传文件。该服务有一个API密钥(当然)他们建议保守秘密。我在github上发现了另外两个示例应用程序,其中filepicker机密位于客户端代码中的普通站点中。这似乎有点不稳定。即使它不在公共回购协议中,因为它是在客户端代码中指定的,我也可以使用Javascript控制台从应用程序中获取密钥(如果我需要的话)

我想知道有没有一种方法可以在应用程序(比如heroku config)中隐藏秘密,从而使密钥保密变得容易

我目前的计划是将密钥放入数据库并锁定该模型,这样它只能从服务器代码中获得。有没有更简单的方法


感谢您的指点。

devel分支(即将进入0.5.3版)有一个新的
Meteor.settings
功能:如果您将一个JSON文件作为参数传递给
Meteor run
Meteor deploy
,该对象将作为
Meteor.settings
在服务器上可用。(使用meteor deploy,这是持久性的,因此您不必每次都记住传递它。)

(如果您使用自己的托管环境,则可以通过
METEOR\u设置
环境变量将JSON文件的内容传入。)

使用数据库也可以——Meteor帐户就是这样存储OAuth帐户的配置的。我个人的观点是,
Meteor.settings
最适合应用程序配置,而数据库最适合包配置,因为它允许包在第一次运行时显示交互式配置小部件,就像
accounts ui
一样