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

mr *_*ers 3 deployment configuration meteor

我正在将Filepicker.io连接到我的meteor应用程序以进行文件上传.该服务有一个API密钥(当然)他们建议保密.我在github上发现了一些其他示例应用程序,其中filepicker机密在客户端代码的普通站点中.这看起来有点摇摇欲坠.即使它不在公共回购中,因为它是在客户端代码中指定的,我可以使用Javascript控制台从应用程序中获取密钥(如果我需要它).

我想知道有一种方法可以隐藏秘密以及一个应用程序(如heroku配置),这样可以很容易地保密密钥.

我目前的计划是将密钥放入数据库并锁定该模型,以便只能从服务器代码中获取.有更简单的方法吗?

谢谢你的任何指示.

Dav*_*ser 7

devel分支(即将在0.5.3)有一个新Meteor.settings的特点:如果你传递一个JSON文件作为参数传递给meteor run或者meteor deploy,对象将可用的服务器上Meteor.settings.(有meteor deploy,这是持久的,所以你不必记得每次都传递它.)

(如果您使用自己的托管环境,则可以通过METEOR_SETTINGS环境变量传递JSON文件的内容.)

使用数据库也很有效 - 这就是Meteor Accounts存储OAuth帐户配置的方式.我的个人意见是Meteor.settings最适合应用程序配置,而数据库最适合包配置,因为这允许包在第一次运行时显示交互式配置小部件accounts-ui.