zjhblogs

事情是这样的:

一天公司需求重新修改某一个项目,我打开了代码,发现axios获取数据功能总是报用户不存在...奇了怪了前端,后端都没有做过修改,以前可以正常跑的应用,竟然不能用了?

axios已经开启携带cookie

import axios from \'axios\';
axios.defaults.withCredentials = true

经过排查

发现原来是谷歌新增了 一个规则 SameSite

意思是为了防止CSRF攻击。谷歌要求你setCookie 设置 SameSite=None 才能在 axios上使用cookie

设置方法:

2.3 None
Chrome 计划将Lax变为默认设置。这时,网站可以选择显式关闭SameSite属性,将其设为None。不过,前提是必须同时设置Secure属性(Cookie 只能通过 HTTPS 协议发送),否则无效。
下面的设置无效。
Set-Cookie: widget_session=abc123; SameSite=None
下面的设置有效。
Set-Cookie: widget_session=abc123; SameSite=None; Secure

参考链接:

阮一峰的网络日志=Cookie 的 SameSite 属性

分类:

技术点:

相关文章:

  • 2022-12-23
  • 2021-12-30
  • 2022-12-23
  • 2021-12-01
  • 2021-08-30
  • 2021-06-12
猜你喜欢
  • 2022-02-10
  • 2021-10-19
  • 2021-12-07
  • 2021-09-08
  • 2022-12-23
  • 2021-12-11
相关资源
相似解决方案