首页 > 解决方案 > 对于 node js 中的每个请求,req.session.id 都是不同的

问题描述

我正在为我的登录模块使用passportjs。为了保存 cookie,我使用了 express-session 库,但是对于每个请求,它都会生成一个新的会话 id,并且在客户端 connect.sid 没有设置。

注意:我的 react 应用程序在数字海洋服务器上运行,我的节点应用程序在 AWS 服务器上运行。

我的反应应用程序中的 API 调用:

axios.get(url, { withCredentials: true }).then((response) => {
  console.log('login:', response.data)
}).catch((e) => {
  console.log('error:', e)
})

我的节点应用程序中的会话设置:

  router.use(cookieParser())
  router.use(
    session({
      secret: 'keyboard cat',
      cookie: { maxAge: 24 * 60 * 60 * 1000 },
      resave: true,
      saveUninitialized: false,
    })
  )
  router.use(passport.initialize())
  router.use(passport.session())

标签: node.jsreactjscookiespassport.jsexpress-session

解决方案


推荐阅读