【问题标题】:what's the best way to protect secret keys when deploying a Meteor App?部署 Meteor 应用程序时保护密钥的最佳方法是什么?
【发布时间】:2012-12-31 16:38:59
【问题描述】:

我正在将 Filepicker.io 连接到我的流星应用程序以进行文件上传。该服务有一个 API 密钥,(当然)他们建议保密。我在 github 上找到了其他几个示例应用程序,其中文件选择器密码位于客户端代码中的普通站点中。这似乎有点不稳定。即使它不在公共 repo 中,因为它是在客户端代码中指定的,我可以使用 Javascript 控制台(如果我想要的话)从应用程序中获取密钥。

我想知道有没有一种方法可以将秘密与应用程序(如 heroku 配置)一起存储,这样可以很容易地保持该密钥的秘密。

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

感谢您的任何指点。

【问题讨论】:

    标签: deployment configuration meteor


    【解决方案1】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-13
      • 2010-09-05
      • 2023-03-29
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 2011-12-29
      相关资源
      最近更新 更多