如何使用同源策略本地测试Cookie集



在本地测试web应用程序时遇到问题。我在请求响应中设置cookie(方法如下(:

const token = createToken(user._id);
res.cookie("jwt", token, { httpOnly: true, maxAge: maxAge,  });
res.status(201).json({ user: user._id });
return res;

但我在React Client中执行以下请求时遇到了一个关于同域策略的错误:

axios.post(`${process.env.REACT_APP_API_URL}api/user/login`, {
email: email,
password: password,
},
{
withCredentials: true
})
.then((res) => {
if (res.data.errors) {
//Show errors
}
})
.catch((err) => {
console.log(err);
}); 

我试图用参数withCredentials执行它:false

请求有效,但cookie未存储但我已经在回应我的请求时设置了Cookie

这是我的CORS选项:

const corsOptions = {
origin: process.env.CLIENT_URL,
credentials: true,
allowedHeaders: ["sessionId", "Content-Type"],
exposedHeaders: ["sessionId"],
methods: "GET,HEAD,PUT,PATCH,POST,DELETE",
preflightContinue: false
};

我通过以下方式重新部署我的cors选项:

const corsOptions = {origin: process.env.CLIENT_URL,credentials: true};

并添加:

app.options('*', cors(corsOptions));

现在它在上工作

最新更新