根据文档,实现 express-socket.io-session 的常用方法是:
var app = require('express')(),
server = require("http").createServer(app),
io = require("socket.io")(server),
session = require("express-session")({
secret: "my-secret",
resave: true,
saveUninitialized: true
}),
sharedsession = require("express-socket.io-session");
// Attach session
app.use(session);
// Share session with io sockets
io.use(sharedsession(session));
实现 connect-mongostore 的常用方法是:
var express = require('express');
var session = require('express-session');
var MongoStore = require('connect-mongostore')(session);
var app = express();
app.use(session({
secret: 'my secret',
store: new MongoStore({'db': 'sessions'})
}));
如果要使用Socket会话,则需要直接在变量初始化中而不是在中间件中配置Express会话,否则会收到类似以下警告:
express-session deprecated undefined resave option; provide resave option app.js:62:9
express-session deprecated undefined saveUninitialized option; provide saveUninitialized option app.js:62:9
express-session deprecated req.secret; provide secret option app.js:62:9
但是,那一次我也无法实现MongoStore,因为初始化MongoStore对象时必须传递会话变量本身。
您知道我如何在同一应用程序中使用 express-session , express-socket.io-session 和 connect-mongostore 吗?