node.js - 使用express-session和express-socket.io-session NodeJs时出错

标签 node.js sockets session express express-session

我正在使用nodejsexpress-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; 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之间共享的方式定义 session ,例如

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));

关于node.js - 使用express-session和express-socket.io-session NodeJs时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46415201/

相关文章:

javascript - 错误 : Package exports for tslib do not define a valid '.' target

ios - 如何从设备访问本地主机

c# - 奇怪的 DllImport 行为(仅在 Unity3d 中)

c - 如何退出recv调用

javascript - 如何在 Socket.IO 中取消、超时或清除排队消息

c++ - 寻找提供类似于 Google Go channel 功能的 C 或 C++ 库

javascript - 需要 Ajax 调用来销毁 session

java - 在 Java 程序中的两个 HTTPClient 之间共享 session 的好方法是什么?

scala - Safari 未发送 Play session cookie

node.js - Messenger 发送 API + AWS S3 托管对象