Node.js 使用express会话和express-socket.io-session节点时出错
我正在使用nodejs express session和express-socket.io-session,问题是当我运行server.js时,出现了一些错误:Node.js 使用express会话和express-socket.io-session节点时出错,node.js,sockets,session,express,express-session,Node.js,Sockets,Session,Express,Express Session,我正在使用nodejs express session和express-socket.io-session,问题是当我运行server.js时,出现了一些错误: express-session deprecated undefined resave option; provide resave option node_modules\express-socket.io-session\index.js:66:7 express-session deprecated req.secret; pro
express-session deprecated undefined resave option; provide resave option node_modules\express-socket.io-session\index.js:66:7
express-session deprecated req.secret; provide secret option node_modules\express-socket.io-session\index.js:66:7
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option node_modules\express-socket.io-session\index.js:66:7
代码如下:
var express = require('express');
var session = require('express-session');
var io = require('socket.io').listen(http);
var sharedsession = require("express-socket.io-session");
var app = express();
app.use(session({
secret: 'ssshhhhh',
resave: true,
saveUninitialized: true
}));
io.use(sharedsession(session, {
resave: true,
secret: 'ssshhhhh',
saveUninitialized: true
}));
io.sockets.on('connection', function(socket){
console.log(socket.handshake.session);
});
我希望我对我的问题已经很清楚了。谢谢您的设置看起来不正确,您希望以这样一种方式定义您的会话:它可以在express和socket.io中共享,例如
const session = require('express-session')({
secret: 'ssshhhhh',
resave: true,
saveUninitialized: true
});
const sharedsession = require('express-socket.io-session');
...
app.use(session);
io.use(sharedsession(session));
@ireeqhz答案仍然适用,您没有将配置的会话传递到socket.io中,而是传递对会话构造函数的引用。