Chrome第三方Cookie淘汰后,跨子域iframe中Partitioned Cookies(CHIPS)访问咨询
可以明确:在同一site.example.com的iframe中,two.thirdparty.com可以读取one.thirdparty.com设置的Partitioned Cookie,前提是Cookie配置正确。以下是具体说明:
核心逻辑:Partitioned Cookie的分区规则
Chrome的Partitioned Cookie基于两个维度划分存储分区:
- 嵌入上下文的顶级站点(此处为
site.example.com) - Cookie所属的注册域(此处为
thirdparty.com)
同一注册域下的所有子域(one.thirdparty.com、two.thirdparty.com),只要处于同一个顶级嵌入站点的iframe中,就会共享同一个Cookie分区,因此跨子域访问Partitioned Cookie是可行的。
正确的Cookie配置示例
要实现跨子域共享,one.thirdparty.com设置Cookie时需包含以下关键属性:
Set-Cookie: session_id=xxx; Domain=.thirdparty.com; Secure; SameSite=None; Partitioned; Path=/
Domain=.thirdparty.com:指定Cookie属于顶级注册域,允许所有子域读取Secure:Partitioned Cookie必须通过HTTPS传输SameSite=None:适配第三方嵌入场景的要求Partitioned:标记为分区Cookie,符合Chrome第三方Cookie淘汰规则
如果不设置Domain,Cookie默认绑定到one.thirdparty.com,此时two.thirdparty.com无法读取,这点需要特别注意。
备选方案(仅当Partitioned Cookie无法满足时)
如果未来浏览器规则调整,或需要兼容不支持Partitioned Cookie的环境,可考虑:
- 服务器端会话同步:通过
thirdparty.com的后端接口,在两个子域之间传递会话令牌(如URL参数或POST请求),实现状态同步 - Shared Storage API:利用浏览器的Shared Storage跨子域共享非敏感数据,适合不需要Cookie自动携带的场景
但就当前Chrome第三方Cookie淘汰的合规要求来看,Partitioned Cookie是最直接且符合标准的解决方案。
内容的提问来源于stack exchange,提问作者user3574076
相关产品推荐
相关产品推荐

