chrome浏览器91版本无法携带cookie问题

1,532 阅读1分钟

问题

在使用新版(91版本)谷歌浏览器登陆后台管理系统时,出现cookie无法携带导致无法鉴权的问题。

原因

Chrome在51版本时为cookie增加了SameSite属性,用于防止跨域携带Cookie引发的用户行为跟踪和CSRF攻击,80版本以下SameSite属性默认为none,跨域请求能够携带cookie。谷歌浏览器80版本以上,cookie的SameSite属性默认值由None变为Lax,导致默认情况下跨域请求无法携带cookie。

解决

1.将SameSite设置为none。(简单粗暴,但未来随着浏览器安全策略越严格,第三方cookie将被完全禁用,该方法只能当下应急用)
在chrome快捷方式点击右键--属性--目标 在目标后用空格隔开加上启动参数--disable-features=SameSiteByDefaultCookies

QQ截图20210601205523.png

2.利用Nginx或其他工具进行代理,将跨域变为同域。(推荐使用)
juejin.cn/post/684490…
3.使用header Authorization方式进行认证鉴权,不使用cookie。(推荐使用)
juejin.cn/post/684490…