4

在将流星应用程序部署到 Heroku 或其他非流星托管基础设施并使用第三方 OAuth 登录服务包时,accounts-facebook必须关注安全地维护每个第三方登录服务的 API 密钥和 API 机密。

在这种情况下,我如何安全地维护不同类型环境(例如,开发、登台和生产)的环境特定安全信息?

4

1 回答 1

4

在维护部署策略时,有开发、登台和生产环境,代码通过这些层移动,从开发箱开始,到生产结束,需要考虑两件事:不向 VCS 系统提交安全信息像 git 一样,环境配置维护方便。

可以考虑为上述用例使用环境变量。

例如,要配置accounts-facebook,您可以在流星应用程序中编写以下内容server/config.js

Accounts.loginServiceConfiguration.remove({
  service: "facebook"
});

Accounts.loginServiceConfiguration.insert({
  service: "facebook",
  appId: process.env.FACEBOOK_APP_ID,
  secret: process.env.FACEBOOK_APP_SECRET
});

以下几行是必不可少的:

appId: process.env.FACEBOOK_APP_ID,
secret: process.env.FACEBOOK_APP_SECRET

process.env让您访问所有环境变量。

然后,您可以只设置环境变量FACEBOOK_APP_IDFACEBOOK_APP_SECRET特定于您的环境 - 开发、登台或生产。

于 2012-12-28T23:16:03.687 回答