2017-04-13 9 views
0

私が明らかに愚かな質問をしている場合、まず謝ります。Passportjs複数の認証戦略expressjsを使用した外部ファイル

私は現在、パスポート認証戦略のセットアップを行っており、正常に動作しています。実装は次のとおりです。

認証戦略(authentication.js):

ルートで使用
const passport = require("passport"); 
const passportJWT = require("passport-jwt"); 
const params = { 
    //Params here 
}; 


module.exports = function LocalStrategy() { 
let strategy = new Strategy(params, function (payload, done) { 
    //Logic here 
}); 
passport.use(strategy); 
return { 
    initialize: function() { 
     return passport.initialize(); 
    }, 
    authenticate: function() { 
     return passport.authenticate("jwt", { 
      session: false 
     }); 
    } 
    }; 
}; 

const localAuth = require('./authentication/LocalStrategy')(); 

app.get('/test', localAuth.authenticate(), (req, res) => { 
    res.json(req.isAuthenticated()); 
}); 

server.jsファイルで

const localAuth = require('./authentication/LocalStrategy')(); 
app.use(localAuth.initialize()); 

私は複数使用することを計画しています私はこれを見つけたimplementation。しかし、私は(私の場合のauthentication.jsに)外部ファイルに記述された戦略を持っていると

passport.authenticate(['SOME_OTHER_STRATEGY', 'jwt'] 

どのようにできる限りのルートで戦略を参照したいという同じserver.jsで書かれた認証戦略を持つよりも、私はこれを実装する?

答えて

1

明らかに私はまだ十分な努力をしていませんでした serializeUserとdeserializeUser以外の現在のロジックに変更を加える必要はありませんでした。ちょうど使用する:

passport.authenticate(['SOME_OTHER_STRATEGY', 'jwt']) 

それはそれです。

関連する問題