在我的快递应用程序中成功登录标志后,我正在重新生成我的sessionID。我正在使用redis-connect和ioredis来支持redis集群。
这是我的服务器文件代码
// Redis Client Intialization
switch(bll.env) {
case 'production' :
ioRedis = new IoRedis.Cluster(bll.config.redis.cluster, bll.config.redis.options);
break;
case 'staging' :
ioRedis = new IoRedis.Cluster(bll.config.redis);
break;
default :
ioRedis = new IoRedis(bll.config.redis);
break;
}
app.use(session({
store: new RedisStore({client: ioRedis, disableTTl:true, prefix:'prefix:'}),
genid:function(req){
return sessionManager.getSessionId(req);
},
name:"name",
rolling: true,
saveUninitialized: false,
unset: 'keep',
resave: true,
secret: 'somesecret'
}));
这是我正在重新生成会话的代码
console.log('previous session id', req.sessionID);
if(req.session.newSessionToken) {
let tempSession = req.session;
req.session.regenerate(function(err){
if(err){
throw(err);
}
req.sessionID = tempSession.newSessionToken;
req.session = tempSession;
req.session.newSessionToken = null;
delete req.session.newSessionToken;
console.log('new session id', req.sessionID);
res.header('x-jabong-sessionid', req.sessionID);
req.session.save(function(err){
if(err){
throw err;
}
return res.json(data);
});
})
} else {
res.header('x-jabong-sessionid', req.sessionID);
return res.json(data);
}
现在我正试图通过
获取文档 127.0.0.1:6379> get jbsess:34edc7ef6f7be59426013e18e773bc5518d9aa0f3d3b7655ecda1109f25164db
(nil)
127.0.0.1:6379>
我收到零文件。我怎么能解决这个问题,我可能会在这里遗漏一些东西。