在将meteor应用程序部署到非流星基础架构时,如何为第三方登录服务维护不同的环境配置?

时间:2012-12-28 23:16:04

标签: environment-variables meteor

在将流星​​应用程序部署到Heroku或其他非流媒体托管基础架构并使用第三方OAuth登录服务包(例如accounts-facebook)时,必须考虑为每个第三方安全地维护API密钥和API秘密登录服务。

如何在该环境中为不同类型的环境(例如,开发,登台和制作)安全地维护特定于环境的安全信息?

1 个答案:

答案 0 :(得分:4)

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

可以考虑将环境变量用于上述用例。

例如,要配置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 - 开发,登台或制作。