Вопрос

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

Это было полезно?

Решение

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
},
...
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top