在将流星应用程序部署到Heroku或其他非流媒体托管基础架构并使用第三方OAuth登录服务包(例如accounts-facebook
)时,必须考虑为每个第三方安全地维护API密钥和API秘密登录服务。
如何在该环境中为不同类型的环境(例如,开发,登台和制作)安全地维护特定于环境的安全信息?
答案 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_ID
和FACEBOOK_APP_SECRET
- 开发,登台或制作。