You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

三星互联网浏览器未发送Cookie问题排查求助

三星互联网浏览器Cookie跨域问题排查建议

我正在调试三星互联网浏览器中的应用问题,无法通过chrome://inspect进行远程调试,只能盲目排查。目前发现问题可能是三星互联网浏览器未发送或接收Cookie,该应用在电脑端Chrome和安卓端Chrome中均可正常运行。

现有配置

后端CORS配置

res.setHeader("Access-Control-Allow-Origin", getOrigin());
res.setHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS");
res.setHeader("Access-Control-Allow-Credentials", "true");
res.setHeader("Access-Control-Allow-Headers", "Origin, Content-Type, Accept, Authorization");
res.setHeader('Vary', 'Origin');

getOrigin()仅返回前端URL的环境变量,前端与后端运行在不同域名下。

Cookie设置代码

const options: CookieOptions = { httpOnly: true, sameSite: 'none', secure: true, path: '/'};
res.cookie(cookieNames.access, tokens.access_token, { ...options, expires: new Date(tokens.expiry_date)});

前端API调用代码

fetch(url, { credentials: 'include' })

问题现象

后端通过console.log(req.cookies)查看,来自三星互联网浏览器的请求返回[Object: null prototype] {},而来自Chrome的请求则能获取到实际Cookie。

可尝试的排查方法

  • 检查三星互联网浏览器的隐私设置:确认是否开启了"阻止第三方Cookie"或类似隐私防护功能,这类设置会直接阻止跨域Cookie的发送。
  • 验证Cookie的secure属性:确保后端部署在HTTPS环境下,三星浏览器对secure: true的Cookie要求严格,若后端是HTTP环境,Cookie会被拒绝存储。
  • 调整SameSite属性测试:暂时将sameSite从none改为lax(或strict,但lax更兼容跨域场景),测试三星浏览器是否能正常接收Cookie,部分旧版本三星浏览器对SameSite=None的支持存在问题。
  • 检查Cookie的域名设置:如果没有显式指定domain属性,三星浏览器可能会默认使用当前后端域名,导致前端跨域请求无法携带。可以尝试显式设置domain为前端域名的父域(比如前端是app.example.com,后端是api.example.com,则设置domain: '.example.com')。
  • 查看三星浏览器版本:不同版本的三星浏览器对Cookie规范的支持差异较大,尝试升级到最新版本后再测试。
  • 捕获请求头信息:在后端打印完整的请求头(console.log(req.headers)),查看三星浏览器请求中是否包含Cookie字段,同时检查Origin头是否与Access-Control-Allow-Origin完全匹配(包括协议、域名、端口)。
  • 测试简单跨域场景:搭建一个极简的前端页面,仅包含跨域请求和Cookie操作,排除应用其他代码的干扰,确认是否是三星浏览器本身的兼容问题。

内容的提问来源于stack exchange,提问作者chibis

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 15:16:02