如何在单个快递服务器文件中使用两个单独的护照实例

我有一个快速的应用程序与用户和pipe理部分。 两者都将运行在不同的端口上,需要不同的authentication。 我创build了一个app.js,其中包括护照,并创build一个应用程序以及adminApp。 然后我为两者初始化护照如下:

var passport = require('passport'); var app = express(); var adminapp = express(); adminapp.use(passport.initialize()); adminapp.use(passport.session()); app.use(passport.initialize()); app.use(passport.session()); 

现在我有定义的路由来侦听/ auth和处理身份validation。 由于我在不同的端口上运行这些端口,因此我有相同的路由模式,并且都在端口上正确监听。 所以可以说我有一个userSessions.jsadminSessions.js文件来处理authentication路线。 这些包括如下:

 var userSessions = require('./routes/userSessions'); var adminSessions = require('./routes/adminSessions'); app.use('/auth', userSessions); adminapp.use('/auth', adminSessions); 

现在,如果我尝试在pipe理应用程序上进行身份validation,它仍会转到userSessions.jspassport.serializeUserpassport.deSerializeUser方法。

我如何处理这种情况,以便pipe理员和用户身份validation分开处理? 或者我这样做是错误的方式和pipe理部分应该在完全不同的应用程序处理?

没有尝试,但你可以找护照

 var Passport = require('passport').Passport, appPass = new Passport(), adminappPass = new Passport();