chrome 120默认强制启用“阻止第三方cookie”,导致嵌入式登录、跨域支付等功能异常;可通过设置页确认状态,临时绕过需添加启动参数或使用无痕窗口,永久白名单须在cookies设置中添加完整域名,开发者需后端配置samesite=none+secure及前端显式携带credentials。

Chrome 120版本默认全面禁用第三方Cookie,导致部分嵌入式登录、跨域支付、SaaS平台单点登录等功能异常,页面可能弹出“您的浏览器限制了第三方Cookie”提示或直接无法完成身份校验。
确认当前第三方Cookie状态
在地址栏输入 chrome://settings/cookies → 回车进入设置页 → 查看“阻止第三方Cookie”开关是否为开启状态(蓝色);若已开启,且你正在访问依赖第三方Cookie的网站(如嵌入优酷播放器、企业微信H5登录页、某些CRM系统iframe子应用),则问题根源在此。
注意:Chrome 120起已移除“允许所有Cookie”开关,仅保留“阻止第三方Cookie”独立开关,且默认强制启用。
临时绕过(适用于调试或一次性高信任场景)
方法一:启动时禁用SameSite限制机制
右键桌面Chrome快捷方式 → 选择“属性” → 在“目标”栏末尾添加空格后粘贴:
【--disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure】
例如完整路径为:
"C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-features=SameSiteByDefaultCookies,CookiesWithoutSameSiteMustBeSecure
保存后双击该快捷方式启动,新窗口即解除第三方Cookie拦截。
方法二:使用无痕窗口快速验证
点击右上角 ⋮ → 选择“打开新的无痕窗口” → 此时所有第三方Cookie请求被拒绝,但不会影响第一方功能;若原问题消失,说明确为第三方Cookie策略导致。
永久白名单特定网站(推荐给银行、邮箱、OA等可信系统)
第一步:进入 chrome://settings/content/cookies
第二步:向下滚动至“允许使用Cookie的网站”区域 → 点击“添加”
第三步:输入完整域名,必须带协议和端口(如 https://login.corp-oa.com:8443),不能只填 corp-oa.com
第四步:点击右侧“添加”按钮,刷新对应网站即可生效。
⚠️ 注意:白名单仅对第一方上下文有效;若网站通过 iframe 加载第三方域名内容,仍需后端配合 SameSite=None+Secure 属性改造。
开发者侧适配(需后端协同)
若你是网站管理员或前端开发人员,需推动后端响应头增加:
Set-Cookie: sessionId=xxx; Path=/; Secure; HttpOnly; SameSite=None
缺一不可:Secure 表示仅 HTTPS 传输,SameSite=None 是显式声明允许第三方上下文读写,否则 Chrome 120 直接忽略该 Cookie。
前端调用 fetch 时必须显式携带凭据:fetch('https://api.third-party.com/login', { credentials: 'include' })
不加 credentials: 'include',即使 Cookie 存在也不会自动附带发送。
替代方案:改用Storage Access API申请临时授权
适用于需要在第三方上下文中(如 iframe)读写第一方存储的场景:
在 iframe 内 JavaScript 中执行:document.requestStorageAccess().then(() => { /* 现在可安全访问 localStorage / cookies */ }).catch(err => console.log('授权失败'));
用户首次访问时会弹出小浮层请求许可,仅限用户主动交互后触发(如点击按钮),非自动执行。











