从React js应用读取Express会话cookie

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从React js应用读取Express会话cookie相关的知识,希望对你有一定的参考价值。

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

BACK:
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: true, //strict,
    secure: process.env.NODE_ENV === "production"
  
))

FRONT:
import Cookies from "js-cookie";
...
console.log("cookie", Cookies.get("sid"));

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

enter image description here谢谢!

答案

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

以上是关于从React js应用读取Express会话cookie的主要内容,如果未能解决你的问题,请参考以下文章

Express + React:CSRF Coo​​kie 在生产中未定义,在本地工作

跨域会话 Cookie(Heroku 上的 Express API + Netlify 上的 React App)

为啥 Postman 在我的 React 应用程序中接收到 express 会话 cookie 而不是我的 post 请求

Express/Passport 创建会话但不向前端发送 cookie

从 Express/node.js Web 应用程序预填充 HTML/Jade

从 Jade 模板访问 Express.js 请求或会话