Socket.io获取用户会话变量

时间:2016-07-30 15:44:42

标签: node.js session socket.io

我正在使用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变量中的所有信息?

0 个答案:

没有答案