cookie跨域访问失效解决方案(谷歌浏览器升级到 80默认拦截了)
Google 将在2020年2月4号发布的 Chrome 80 版本(schedule:https://www.chromestatus.com/features/schedule)中默认屏蔽所有第三方 Cookie,即默认为所有 Cookie 加上 SameSite=Lax 属性(https://www.chromestatus.com/feature/5088147346030592),并且拒绝非Secure的Cookie设为 SameSite=None(https://www.chromestatus.com/feature/5633521622188032)此举是为了从源头屏蔽 CSRF 漏洞
解决方案
方案一
Chrome 中打开 chrome://flags/#same-site-by-default-cookies 和 chrome://flags/#cookies-without-same-site-must-be-secure ,
设置为 Disabled ,重启浏览器
方案二
降级到 Chrome 79 及以下版本,并关闭自动更新
方案三 (适用于 API)
将 API 切换为 HTTPS 协议(需要有 SSL 证书),并且检查响应头中的 Set-Cookie 中是否包含了 SameSite=None 和 Secure字样
如果没有 HTTPS 协议的 API, 请尝试 方案一 或 方案二
方案四
改造 http 服务,购买 SSL 证书,升级到 https 服务,并执行方案三.1