Chrome浏览器跨域设置cookie失败的问题

问题
  • 过年前电脑自动升级了 chrome 浏览器,导致本地访问 localhost 本地测试环境的时候,无法设置cookie,cookie 无法在header携带过去,导致获取用户信息失败,无法联调。
后果
  • 之前找不到原因,项目比较赶,所以一直用的火狐浏览器开发,开发效率大大降低,火狐的开发体验真心差。
原因
  • chorme header 头的 cookie 里有一个黄色的小叹号, 提示 This set-cookie didn't specify a 'SameSite' attribute and was defaulted to 'SameSite=lax' and broke the same rules specified in the SameSitelax value,samesite 是 chrome 为了限制第三方 cookie 问题而加的功能,对于 chrome 80 后的版本,跨域的时候,Lax 在大多数情况下不发送第三方 cookie。
解决方案
  • 在chrome新标签页面访问
chrome://flags/#same-site-by-default-cookies
chrome://flags/#cookies-without-same-site-must-be-secure

分别把这两项设置为 Disabled,并重启浏览器。

后续

4 月 3 号谷歌官方有这样一条消息:谷歌宣布回滚 samesite cookie 功能。


chrome_set.jpg

你可能感兴趣的:(Chrome浏览器跨域设置cookie失败的问题)