最新消息: 电脑我帮您提供丰富的电脑知识,编程学习,软件下载,win7系统下载。

Express nodejs会话cookie:每次刷新后都没有生成req.cookies ['connect.sid']并且req.sessionID不同

IT培训 admin 3浏览 0评论

Express nodejs会话cookie:每次刷新后都没有生成req.cookies ['connect.sid']并且req.sessionID不同

我使用express 4.13.3和express-session 1.11.3。这是我的配置会话:

app.use( session({/*store: new redis_store,*/name: 'connect.sid', secret: 'azerty is qwerty', resave: false, saveUninitialized: false, cookie:{httpOnly: false, secure: false, maxAge: null}}) );

在这里我打印req.cookies['connect.sid']req.sessionID

app.get("/", function (req, res) {
  console.log(req.sessionID);
  console.log(req.cookies['connect.sid']);

  res.sendStatus(200);
});

每次刷新时req.sessionID都不同,req.cookies['connect.sid']未定义。几个月前,随着req.sessionID在刷新时的变化,我决定使用req.cookies['connect.sid'],它的工作就像一个魅力。今天我检查了我的代码,我注意到cookie中不存在connect.sid

那么问题是什么?我如何使用cookie的会话ID?

回答如下:

我认为您需要像这样访问这些对象:

app.get('/', function (req, res) {
  console.log(req.session.id);
  console.log(req.session.cookie);

  res.sendStatus(200);
});

此外,express-session docs说connect.sid是会话cookie的默认名称,所以你不需要像你一样指定它。

Express nodejs会话cookie:每次刷新后都没有生成req.cookies ['connect.sid']并且req.sessionID不同

我使用express 4.13.3和express-session 1.11.3。这是我的配置会话:

app.use( session({/*store: new redis_store,*/name: 'connect.sid', secret: 'azerty is qwerty', resave: false, saveUninitialized: false, cookie:{httpOnly: false, secure: false, maxAge: null}}) );

在这里我打印req.cookies['connect.sid']req.sessionID

app.get("/", function (req, res) {
  console.log(req.sessionID);
  console.log(req.cookies['connect.sid']);

  res.sendStatus(200);
});

每次刷新时req.sessionID都不同,req.cookies['connect.sid']未定义。几个月前,随着req.sessionID在刷新时的变化,我决定使用req.cookies['connect.sid'],它的工作就像一个魅力。今天我检查了我的代码,我注意到cookie中不存在connect.sid

那么问题是什么?我如何使用cookie的会话ID?

回答如下:

我认为您需要像这样访问这些对象:

app.get('/', function (req, res) {
  console.log(req.session.id);
  console.log(req.session.cookie);

  res.sendStatus(200);
});

此外,express-session docs说connect.sid是会话cookie的默认名称,所以你不需要像你一样指定它。

发布评论

评论列表 (0)

  1. 暂无评论