【开发心得】Chrome/Edge 91版本SameSite by default cookies被移除后的解决方案
前言:场景是cas单点登录,使用iframe解决跨域问题。
chrome 版本大于80 且 小于91的情况,可以通过
-
在chrome浏览器地址栏输入chrome://flags并回车
-
在搜索栏中输入SameSite by default cookies搜索,并禁用如图中的两项设置
,改为Disabled即可 -
点击右下键ReLaunch重启浏览器即可
chrome 版本大于91 且小于94的情况,可以通过如下解决
Chromium支持的command-line flag, 具体操作过程如下:
-
在右击Chrome/Edge的快捷方式, 点击"属性".
-
在"目标(Target)"属性中末尾加上
--disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
然后重启浏览器就可以了. 但是这种办法不是long term solution, Chromium 94后会连comman-line的方式也移除, 按照官方的说法是因为如果任由开发者禁用这两个选项, 开发者就会变成容易被攻击的目标. 因此为了保护开发者, Chromium选择逐渐关闭这个通道.
如果提示无法添加参数或者保存,请到属性-常规 中将只读关闭后操作,处理完,再将只读加回来!
官方原文:
Firefox目前版本均无此限制,故真解决不了,可以考虑使用Firefox