我正在使用身份验证构建项目。我正在使用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,我可以在浏览器的控制台中看到它……但是当我尝试访问它时,它没有防御力
您的问题是,在配置会话时,您尚未在cookie上设置httpOnly
属性。默认值为true
,这将阻止客户端浏览器读取Cookie。