【问题标题】:how can get the current session user information in nodejs on socket event?如何在socket事件上获取nodejs中的当前会话用户信息?
【发布时间】:2015-04-30 07:07:59
【问题描述】:

首先我是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);
   });
});

【问题讨论】:

    标签: node.js session socket.io


    【解决方案1】:

    我找到了

    socket.request.user
    

    在新版本中有所改变。

    【讨论】:

      猜你喜欢
      • 2021-06-16
      • 2017-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多