记录google浏览器cookie跨域携带和samesite的问题
关于SameSite,下面这篇文章介绍的比较详细;
https://ianhung0529.medium.com/chrome-80-%E5%BE%8C%E9%87%9D%E5%B0%8D%E7%AC%AC%E4%B8%89%E6%96%B9-cookie-%E7%9A%84%E8%A6%8F%E5%89%87%E8%AA%BF%E6%95%B4-default-samesite-lax-aaba0bc785a3
在chorme 91 版本浏览器上通过Vue项目设置cookie显示
点击右边小黄色提示显示内容
this Set-Cookies didn’t specify a “SameSite” attribute and was defaulted to “SameSite=Lax”,and was blocked because it came from a cross-site response which was not this respone to a top-level navigation The Set-Cookie had to have been set with “SameSite=None” to enable cross-site usage
大概意思是SameSite需要设置为none就完事,80版本以上的SameSite:Lax,本来项目已经上线想着能狗就狗,后来想想以后的fireFox和其他浏览器后续都会有这样的操作,确实狗不下去了,意味着后续客户端浏览器升级啥的就会大规模爆发此问题
通过各方查找验证方法如下几种;
1. 修改后端(最靠谱有效)
后台设置SameSite=None
2. 修改chrome配置方式1
配置项被移除Chrome中访问地址chrome://flags/ 搜索samesite 将same-site-by-default-cookies,和SameSite by default cookies这两项设置为Disabled后重启浏览器再运行项目即可解决。该设置默认情况下会将未指定SameSite属性的请求看做SameSite=Lax来处理(这种方式,90版本以上已经被移除,无法使用)
3.修改chrome配置方式2
windows:chrome浏览器exe后面空格添加–disable-features=SameSiteByDefaultCookies
然后一定要重启浏览器,重新发送请求