在反应中访问快速会话 cookie
Accessing express session cookies in react
有什么方法可以访问快速会话生成的 cookie 吗?
我已经生成了一个 express-session cookie,如下所示
app.use(
session({
key: "userId",
secret: "subscribe",
resave: false,
saveUninitialized: false,
cookie: {
expires: 60 * 60 * 24,
},
}) );
现在,如果我尝试使用通用 cookie 或 js-cookie 库从 React 访问 cookie,我将无法访问 cookie。
PS: 在我添加的反应文件中
Axios.defaults.withCredentials = true;
并且在后端文件中我将 cors 配置为
app.use(cors({
origin: ["http://localhost:3000"],
methods: ["GET", "POST"],
credentials: true, }));
但还是不行。
当您使用 express-session 时,发送到前端的唯一 cookie 是 connect.sid。默认情况下,它是 httpOnly,这样你就无法在 React 中访问它。要实现它,您需要将 httpOnly 配置更改为 false。
app.use(
session({
key: "userId",
secret: "subscribe",
resave: false,
saveUninitialized: false,
cookie: {
expires: 60 * 60 * 24,
httpOnly: false,
},
})
);
有什么方法可以访问快速会话生成的 cookie 吗? 我已经生成了一个 express-session cookie,如下所示
app.use(
session({
key: "userId",
secret: "subscribe",
resave: false,
saveUninitialized: false,
cookie: {
expires: 60 * 60 * 24,
},
}) );
现在,如果我尝试使用通用 cookie 或 js-cookie 库从 React 访问 cookie,我将无法访问 cookie。
PS: 在我添加的反应文件中
Axios.defaults.withCredentials = true;
并且在后端文件中我将 cors 配置为
app.use(cors({
origin: ["http://localhost:3000"],
methods: ["GET", "POST"],
credentials: true, }));
但还是不行。
当您使用 express-session 时,发送到前端的唯一 cookie 是 connect.sid。默认情况下,它是 httpOnly,这样你就无法在 React 中访问它。要实现它,您需要将 httpOnly 配置更改为 false。
app.use(
session({
key: "userId",
secret: "subscribe",
resave: false,
saveUninitialized: false,
cookie: {
expires: 60 * 60 * 24,
httpOnly: false,
},
})
);