【发布时间】:2019-12-09 20:40:39
【问题描述】:
此功能在我的本地运行良好。
但是,如果我想让它在 staging 上工作,我需要将 callbackURL 更改为:“https://staging-jobdirecto.herokuapp.com/facebook/callback”,然后提交到 staging。
对于生产:“https://jobdirecto.herokuapp.com/facebook/callback”。
有什么方法可以让我动态更改(无需我经常更改这段代码)?
passport.use(new FacebookStrategy({
clientID: 1227008554140703,
clientSecret: fbSecret,
callbackURL: "http://localhost:8080/facebook/callback"
},
function(accessToken, refreshToken, profile, done) {
return database.findOrCreateFacebookUser(profile.id, profile.displayName).then((user) => {
done(null, user)
})
}
));
对于生产来说,我认为可以通过这样的方式完成,但我不确定如何将其应用到暂存环境:
if (process.env.CALLBACK !== undefined) {
callback = process.env.CALLBACK
} else if () {
callback = "http://localhost:8080/facebook/callback"
}
感谢您的帮助, 威尔弗雷多
【问题讨论】:
-
总是从环境变量中读取而不是硬编码怎么样?
-
您还可以实现动态配置逻辑,以根据环境选择正确的配置,如此处所述codeburst.io/…
-
您是否在 Heroku 上托管登台和生产?
-
是的,我都在 heroku 上托管