SailsJS:将Facebook应用秘密转移到local.js文件

时间:2014-04-22 08:35:50

标签: sails.js passport.js passport-facebook

我在我的应用中使用Sails + Passport进行Facebook身份验证。

我有一个中间件文件包含:

module.exports = {
    express: {
        customMiddleware: function (app) {
            passport.use(new FacebookStrategy({
                clientID: "123456",
                clientSecret: "123456",
                callbackURL: "http://myskills.co/auth/facebook/callback",
                passReqToCallback: true
            },

由于应用程序是开源的,我不想在GitHub上公开客户端密码 Sails文档建议使用git忽略的local.js文件。

我无法弄清楚如何从local.js文件中将值返回到此函数 任何帮助将不胜感激。

完整的代码在GitHub上:https://github.com/ronenteva/MySkills/blob/master/config/passport.js

1 个答案:

答案 0 :(得分:1)

由于在所有其他配置文件之后加载了AFAIK local.js,您可能无法从{{clientIDclientSecretSails.config访问config/passport.js 1}}。但与此同时,解决方案可以更简单:由于两个文件都在同一个文件夹中,因此您只需要local.js并获取所需的值即可。这样的事情:

...
var sm = require('sitemap');
var locals = require('./local');

...
passport.use(new FacebookStrategy({
  clientID: locals.facebook.clientID,
  clientSecret: locals.facebook.clientSecret,
  callbackURL: "http://dev.myskills.co/auth/facebook/callback",
  passReqToCallback: true
},
...