安装依赖
npm i --save express-session socket.io
设置一下
const io = require('socket.io');
import session = require('express-session');
// 和 http 使用同一options
const sessionOptions = {
secret: 'secret_key_hahaha',
name: 'session_id',
store: sessionStore,
resave: false,
saveUninitialized: false,
cookie: {
maxAge: 1000 * 60 * 60,
}
};
const server = io.listen(server);
server.use((socket, next) => {
session(sessionOptions)(socket.handshake, {}, next);
}
);
server.use((socket, next) => {
if (socket.handshake.session.userState && socket.handshake.session.userState.isLogin) {
next();
} else {
return;
}
});