Node.js Express.js:2 PasportJS';vhost中的s反序列化()方法冲突
谢谢你看这个问题。 我正在使用Node.js Express.js:2 PasportJS';vhost中的s反序列化()方法冲突,node.js,express,passport.js,vhosts,Node.js,Express,Passport.js,Vhosts,谢谢你看这个问题。 我正在使用vhost构建一个包含3个express应用程序的服务: 为客户 主持人 对于管理员(这个尚未开发) 因此,它们中的每一个都使用带有不同身份验证(不同的用户集合)的Passport.js。最后,他们中的每一个人都成功地进行了身份验证。问题出在Passport的序列化()和反序列化()方法中,该方法覆盖了另一个vhost中以前的方法。我这样称呼他们: server.js var app = express(), clientApp
vhost
构建一个包含3个express应用程序的服务:
Passport.js
。最后,他们中的每一个人都成功地进行了身份验证。问题出在Passport的序列化()
和反序列化()
方法中,该方法覆盖了另一个vhost中以前的方法。我这样称呼他们:
server.js
var app = express(),
clientApp = require('./config/client/express')(db),
moderatorApp = require('./config/moderator/express')(db);
app.use(vhost('localhost', mainApp));
app.use(vhost('moderator.localhost', moderatorApp));
app.listen(config.port);
// some express settings, router settings
// and here I set passport
passport.serializeUser(function(user, done) {
done(null, user.id);
});
// Deserialize sessions
passport.deserializeUser(function(id, done) {
User.findOne({
//....
})
});
// Require necessary strategies
require(path.resolve('config/moderator/strategies/local.js'))();
// Return Express server instance
return app;
client/express.js
var app = express(),
clientApp = require('./config/client/express')(db),
moderatorApp = require('./config/moderator/express')(db);
app.use(vhost('localhost', mainApp));
app.use(vhost('moderator.localhost', moderatorApp));
app.listen(config.port);
// some express settings, router settings
// and here I set passport
passport.serializeUser(function(user, done) {
done(null, user.id);
});
// Deserialize sessions
passport.deserializeUser(function(id, done) {
User.findOne({
//....
})
});
// Require necessary strategies
require(path.resolve('config/moderator/strategies/local.js'))();
// Return Express server instance
return app;
主持人/express.js
除了Passport的
反序列化()
方法之外,这里几乎(做了一些安全性方面的东西)与client/express.js中的
相同。它在超级用户
集合中查找用户
关于问题的最后一点
问题是身份验证后passport无法从所需集合反序列化用户。我认为它覆盖了以前的passport反序列化设置。但是,如果只保留一个passport序列化和反序列化方法(删除另一个覆盖PROVERY的序列化和反序列化方法),则它完全可以工作
问题
如何在两个vhost
中设置passport的序列化和反序列化方法,使其不会相互冲突
请帮助我