如何在socket事件的nodejs中获取当前会话用户信息?

时间:2015-02-27 14:24:36

标签: node.js session socket.io

首先,我是nodejs的新手,我开始学习它大约3-4天,我读了很多文章但是他们让我更加迷惑!

var app = express();
var expressSession = require('express-session');
var cookieParser = require('cookie-parser');

app.use(cookieParser());

app.use(expressSession({
   key : 'session',
   secret: 'mySecretKey',
   store: sessionStore
}));

app.use(passport.initialize());
app.use(passport.session());

var server= require('http').Server(app) ;
var io = require('socket.io')(server);
var passportSocketIo = require("passport.socketio");

io.use(passportSocketIo.authorize({
  cookieParser: cookieParser,
  key:         'session',
  secret:      'mySecretKey',
  store:       sessionStore, 
  success:     onAuthorizeSuccess,
  fail:        onAuthorizeFail,
}));

它运行良好并检查套接字连接访问,但对我来说有一个大问题。 我如何访问套接字消息上的会话ID? 我想在会话存储中搜索会话数据并查找当前用户信息。

这段代码似乎不起作用:

io.on('connection',function(socket) {
   socket.on('myevent',function(){
    console.log("Session: ", socket.session);
   });
});

1 个答案:

答案 0 :(得分:0)

我找到了

socket.request.user

新版本改变了。