问题描述
如何使用会话存储和sid更改cookie maxAge
?
app.js
const express = require('express');
const express_session = require('express-session');
const sharedsession = require("express-socket.io-session");
const MSQLStore = require('express-mysql-session')(express_session);
...
// connect mysql and make sessionStore
const pool = mysql.createPool(config.DB);
const sessionStore = new MSQLStore({
clearExpired: true,checkExpirationInterval: 1000,tableName: 'sessions',columnNames: {
session_id: 'session_id',expires: 'expires',data: 'data'
}
},pool);
// set session
const session=express_session({
cookie:{maxAge:86400000},secret: config.secret,store: sessionStore,resave: true,saveUninitialized: false
});
它可以更改最大值,但不能更改expires
....
app.io.on('connection',(socket)=>{
sessionStore.all((err,sessions)=>{
console.log(sessions);
})
socket.on('disconnect',()=>{
sessionStore.get(socket.handshake.sessionID,(err,ss)=>{
ss.cookie.origianlmaxAge=1000; //This!
sessionStore.set(socket.handshake.sessionID,ss,(err)=>{
console.log(ss);
})
})
})
});
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)