1

アプリで Facebook 認証に Sails + Passport を使用しています。

以下を含むミドルウェアファイルがあります。

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

4

1 に答える 1

1

私の知る限り、他のすべての構成ファイルの後にロードされているため、local.jsおそらく. しかし同時に、解決策はさらに単純になる可能性があります。両方のファイルが同じフォルダーにあるため、require を実行して必要な値を取得するだけです。そんな感じ:clientIDclientSecretSails.configconfig/passport.jslocal.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
},
...
于 2014-04-22T16:18:53.950 に答える