首先涉及到跨域。
在跨域时,请求默认不带 cookie,需要请求时添加 withCredentials 为 true。
本来如此,但是后来 chrome 整出一个 SameSite by default cookies
进入 chrome://flags 可以看到,效果是后端没有设置 SameSite 时默认为 lax,也就是你必须决定 SameSite=None 时,跨域请求才能带上 cookie。
因此,不难看出解决方案有两个:
但是第二个显然是不实际的,所以请各位后端辛苦一下啦:
Set-Cookie: flavor=choco; SameSite=None; Secure
mdn 传送门:https://developer.mozilla.org/zh-cn/docs/Web/HTTP/Headers/Set-Cookie/SameSite