mac chrome91 跨域请求不携带cookie解决办法

1,795 阅读2分钟

新变化

在chrome更新到93版本后,之前的办法都没用了。在找到新办法之前,建议直接降级chrome浏览器,最为简单

  1. 下载旧版本的chrome浏览器

mac chrome 下载链接

windows chrome 下载链接

  1. 卸载当前的chrome浏览器,卸载时建议不要删除本地数据
  2. 安装旧版的浏览器
  3. 安装成功后,在地址栏输入
chrome://flags

搜索 samesite,将下图中的两个配置项设置为disabled

image.png

  1. 重启浏览器,问题解决

记得找开发确认具体使用了哪些环境的接口,比如使用了test和test1的接口,就要在test和test1都登录,其他情况同理

  1. 建议禁用掉chrome的自动更新,具体操作点击此链接

以下为原文

mac chrome浏览器

  1. 退出chrome浏览器,打开终端输入指令
open -a "Google Chrome" --args --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
  1. 浏览器会自动打开,然后登录对应的测试环境。使用到了什么环境的接口就在对应的测试环境登录。

比如使用了test和test1的接口,就要在test和test1都登录,其他情况同理 具体使用了哪些环境的接口,找开发确认

  1. 登录后,再次访问对应网站,ok

问题

系统 mac os

昨天发现将chrome版本更新到91后,在本地开启web调试时,跨域请求中没有携带cookie。

本来准备使用之前的办法,在地址栏输入 chrome://flags/, 然后搜索 samesite by default cookies,将其设为disable。但是发现chrome已经不提供这个选项,只好到网上搜索其他办法。

最后搜到一个办法,亲测可用

  1. 首先关闭chrome,打开终端
  2. 输入
open -a "Google Chrome" --args --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
  1. 重新打开chrome 完美解决

参考

包含windows chrome 此问题的解决办法 博客链接