Frage

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

War es hilfreich?

Lösung

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
},
...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top