
项目背景及问题定位
项目背景

A网站(假设为http://SameSite.a.com)作为iframe内嵌在B网站(假设为http://test.a.com)。在B网站中加载A网站的时候,自动登录失效,导致接口一直重调。
问题定位
- 初步分析,A网站为第三方页面,将A网站直接在外部打开可以单独访问,排除A网站的问题
- 更换浏览器,在火狐和Edge中,A网站可正常在iframe中加载。初步定位为浏览器兼容问题
- 对比不能正常加载和正常加载的chrome浏览器版本,都更新到最新的89版本。发现状态没变,能加载的还是能,不行的依然加载不了。(因为这个现象,导致对是否是浏览器版本兼容问题产生了怀疑)
- 打开浏览器控制台,发现接口请求报错,控制台出现以下提示

错误与SameSite属性有关系,因此去查了一下SameSite相关的问题。SameSite相关属性可参考阮一峰的《Cookie 的 SameSite 属性》

本文详细介绍了Chrome 80版本默认SameSite属性导致的iframe内嵌页面无法获取cookie的问题,以及相应的解决方案,包括浏览器配置调整、升级HTTPS、设置SameSite属性等。同时提到,对于前端设置的cookie,可通过修改响应头或前端代码来解决此问题。
最低0.47元/天 解锁文章
904





