socket.io验证,如何获取handshakeData里面的session值
session是存放在mongodb里面的。
var cookieParser=require("cookie-parser");
var signedCookieParser=cookieParser("technode");
var sessionStore=new MongoStore({url:"mongodb://localhost/technode"});
io.set('authorization', function(handshakeData, accept) {
signedCookieParser(handshakeData, {}, function(err) {
if (err) {
accept(err, false)
} else {
sessionStore.get(handshakeData.signedCookies['connect.sid'], function(err, session) {
if (err) {
accept(err.message, false)
} else {
handshakeData.session = session;
console.log(handshakeData.session); //这个地方获取不到数据
if (session) {
accept(null, true)
} else {
accept('No login')
}
}
})
}
})
accept(null,true);
})