背景1. 什么是三方cookie如果浏览器存储的cookie的域(domain)和地址栏中的url属于同一网站,则认为这种cookie为一方cookie,否则为三方cookie。 以下面访问tmall主页为例,浏览器被种下的cookie中,域值为*.tmall.com的cookie为一方cookie(绿色),其他皆为三方cookie(红色)。 三方cookie通常用来用作用户行为追踪、单一登陆等作用。 当A网站通过某种形式访问了B网站的内容或资源(例如img,iframe)时往往会带来三方cookie。 通过三方cookie虽然能实现一些便捷功能(例如多域名登陆,天猫vs淘宝等)但是三方cookie的滥用也会带来诸如CSRF,个人信息泄露等安全问题或风险。 2. 在观远的应用场景里哪些地方用到了三方cookie主要是两个场景 a) 观远系统以iframe的形式嵌入到客户的宿主系统中,此时观远为内容提供方,观远的cookie相对于宿主系统来说为三方cookie b)观远自己系统中的iframe内容,例如iframe卡片,润乾填报等。此时润乾或iframe 卡片URL指向的网站为内容供应方,他们提供的cookie相对于观远来说是三方cookie 3. chrome 安全策略升级带来的影响早期chrome并没有对三方cookie做任何安全管控。从56版本开始提供了一个cookie属性samesite,用来约束三方cookie的行为,并提供了三个选项:
从76版本开始,chrome开始升级samesite的默认值,从none变为了Lax。其行为可归纳为: 所以对于2-a, 2-b中的场景,如果内容提供方没有配置更宽松的samesite安全等级(none),该cookie会被chrome过滤掉。对于2-a来说,我们的uIdToken存储在cookie中,前端无法获取uIdtoken会认为用户没有登录而转向登录页。目前赫基的部分客户端已经出现了问题。 4. 其他浏览器
根据Google官网准备逐步淘汰第三方 cookie说明,2024Q3开始逐步全面禁用第三方Cookie。 不过Google提供了替代方案:具有独立分区状态(CHIPS)的Cookie。 解决方案根据前面相关问题的描述,我们认为可以提供以下方案给我们的用户 方案a:
方案b:修改BI服务后端配置,降低BI服务的Cookie安全等级配置。 具体操作为:nginx https代理转发请求到guandata-web时增加如下配置
|