Question

I'm using Sails + Passport for Facebook authentication in my app.

I have a middleware file contains:

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

Since the app is open-sourced, I don't want to expose the client secret on GitHub.
Sails documentation recommends using a local.js file that is ignored by git.

I can't figure how to get the value back from the local.js file to this function.
Any help will be much appreciated.

The complete code is on GitHub: https://github.com/ronenteva/MySkills/blob/master/config/passport.js

Était-ce utile?

La solution

Since, AFAIK, local.js is being loaded after all other config files, you will probably not be able to access your clientID and clientSecret through Sails.config from config/passport.js. But at the same time, the solution can be even simpler: since both files are in the same folder, you can just require your local.js and get the values you need. Something like that:

...
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
},
...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top