2 回答
TA贡献1813条经验 获得超2个赞
我刚刚遇到了同样的问题axios,这导致Set-Cookie响应标头被静默忽略。这很烦人,如果它拒绝它们,它会在该标题上显示那个小黄色三角形,并在网络检查器中说明原因。
我通过添加一个请求拦截器来true为每个请求强制它来解决这个问题:
axios.interceptors.request.use(
(config) => {
config.withCredentials = true
return config
},
(error) => {
return Promise.reject(error)
}
)
TA贡献1827条经验 获得超7个赞
解决方案
原来问题出在前端,特别是 JavaScript 的fetch()方法。
let response = await fetch(`http://localhost:8000/login`, {
method: "POST",
credentials: "include", //--> send/receive cookies
body: JSON.stringify({
email,
}),
headers: {
"Content-Type": "application/json",
},
});
您将需要对象credentials: include中的属性RequestInit,不仅用于发出需要 cookie 身份验证的请求,还用于接收所述 cookie。
Axios 通常会自动填写这部分(根据经验),但如果没有,您还需要withCredentials: true在请求的第三个config参数中添加以允许浏览器设置 cookie。
- 2 回答
- 0 关注
- 118 浏览
添加回答
举报