socket.io护照会话未定

时间:2017-05-18 16:18:11

标签: node.js sockets session websocket socket.io

我想用

  

req.user.id

里面

  

io.sockets.on('connection',module.exports = function(socket){}

所以我尝试使用这一行     socket.request.client.user

就像我的

那样
  

io.socket

obj = {name: 'asd',pass: true}

但我在控制台上未定义

这是我的完整代码完整代码

io.sockets.on('connection', module.exports = function(socket,client,req){

    connections.push(socket);
    app.use(session({ secret: 'keyboard cat',resave: true, saveUninitialized:true})); // session secret
    app.use(passport.initialize());
    app.use(passport.session()); // persistent login sessions

    console.log('connected: %s socket connected -session',socket.request.client.user ,connections.length);

1 个答案:

答案 0 :(得分:1)

不幸的是,

req.user仅适用于快速中间件。如果您想访问护照用户信息,则必须使用https://www.npmjs.com/package/passport.socketio之类的内容。

您还必须使用某种持久性存储,例如redis或mongodb