我正在使用socket.io,我想知道如何在快速会话中获取所有用户变量。我正在使用护照js进行身份验证。
如果我将req.user传递给视图并将其放入我的.ejs视图中的隐藏字段中,我可以获得所有变量。
app.get('/node', function(req, res){
res.render('pages/index', {
user : req.user
});
});
在我看来,我可以这样做:
<input type="hidden" value="<%= user.local.email %>"/>
但我不喜欢这种方式,可以在socket.io中获取req变量吗?
我试过了:
var io = require("socket.io")(http)
.use(function(socket, next){
// Wrap the express middleware
sessionMiddleware(socket.request, {}, next);
})
.on("connection", function(socket){
socket.on('chat message', function(msg){
console.log(socket.request.session);
});
});
但是在我的console.log console.log(socket.request.session);
里面我没有用户的信息我只有会话用户ID。
Session {
cookie:
{ path: '/',
_expires: null,
originalMaxAge: null,
httpOnly: true },
flash: {},
passport: { user: '579cc16c856d6feb35af584f' } }
如何获取req.user变量中的所有信息?