预计护照会话是否可以与Web套接字库(https://github.com/websockets/ws)一起使用?我们有一个常规的护照身份验证设置:但req.session.user有时会在websocket请求中正确显示,有时则不会。
我们正在初始化websocket:
this.wss = new WebSocketServer({
server: this.server, // This is the express app
verifyClient: function(info, done) {
self.session_parser(info.req, {}, function() {
console.log('VERIFY ', info.req.session);
// allow connection only if session is valid and a user is logged in
done(info.req.session && info.req.session.passport &&
info.req.session.passport.user &&
info.req.session.passport.user.id);
});
}
});
问题是info.req.session.user正确显示某些Web套接字请求,有时它不在verifyClient函数中。 req.session总能正确显示。
答案 0 :(得分:0)
它在开发环境中吗?
如果您使用memorystore
会话,则在重新加载应用程序后将其清除。您可以切换到session-file-store
,但通常不会存储在res.redirect()
在其他情况下,您必须检查会话在服务器上没有过期。