从React js应用读取Express Session Cookie

时间:2019-11-14 19:34:34

标签: node.js reactjs express cookies session-cookies

我正在建立一个带有身份验证的项目。我正在使用Node + React。我在后端设置了一个快速会话cookie,我希望组件能够读取该cookie以查看用户是否已通过身份验证。出于某些原因,我无法从react(客户端)访问该Cookie。也许有人可以帮忙?

common.advert.Price getPrice();

在这种情况下,我有一个名为“ sid”的cookie,我可以在浏览器的控制台中看到它...但是当我尝试访问它时,它却没有防御

enter image description here 谢谢!

1 个答案:

答案 0 :(得分:1)

您的问题是,在配置会话时,您尚未在Cookie上设置httpOnly属性。默认值为true,这将阻止客户端浏览器读取Cookie。

Note be careful when setting this to true, as compliant clients will not allow client-side JavaScript to see the cookie in document.cookie.
app.use(session({
  name: process.env.SESS_NAME,
  resave: false,
  saveUninitialized: false,
  secret: process.env.SESS_SECRET,
  cookie: {
    maxAge: parseInt(process.env.SESS_LIFETIME),
    sameSite: false, // this may need to be false is you are accessing from another React app
    httpOnly: false, // this must be false if you want to access the cookie
    secure: process.env.NODE_ENV === "production"
  }
}))

请参见cookie options in docs