首页  >  文章  >  后端开发  >  为什么我的浏览器拒绝接受来自跨源响应的 Cookie?

为什么我的浏览器拒绝接受来自跨源响应的 Cookie?

Linda Hamilton
Linda Hamilton原创
2024-11-21 00:23:12300浏览

Why Does My Browser Refuse to Accept Cookies from a Cross-Origin Response?

浏览器拒绝接受来自跨源响应的 Set-Cookie 标头

您的应用程序在从后端设置 HTTP cookie 时遇到困难,并且检索它以供后续请求。要解决此问题,您需要在客户端代码中解决 withCredentials 的放置问题。

而不是:

const axiosAuth = axios.create({
  validateStatus: (status: number) => {
    return status >= 200 && status < 300;
  },
  headers: {
    Accept: `application/json`,
    'Content-Type': 'application/json',
    withCredentials: true, // Incorrect
  },
});

您应该:

const axiosAuth = axios.create({
  validateStatus: (status: number) => {
    return status >= 200 && status < 300;
  },
  headers: {
    Accept: `application/json`,
    'Content-Type': 'application/json',
  },
  withCredentials: true, // Correct
});

放置正如更正后的代码所示,withCredentials 作为请求属性,使浏览器能够发送和接收跨源请求的 cookie。这将允许您的前端正确设置和访问刷新令牌 cookie 以进行身份​​验证。

以上是为什么我的浏览器拒绝接受来自跨源响应的 Cookie?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn