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

Capacitor(React+Android模拟器)中HttpOnly Cookie无法回传至服务器的问题排查求助

Capacitor(React+Android模拟器)中HttpOnly Cookie无法回传至服务器的问题排查求助

各位好,我最近在把React Web App用Capacitor打包成Android应用时,遇到了HttpOnly Cookie的棘手问题,折腾好一阵没搞定,来请教大家!

环境信息

  • Capacitor 7
  • React 18
  • Android 模拟器(API 33)
  • Axios 1.x

问题场景与现象

我的后端用Express签发HttpOnly的refresh_token Cookie做认证:

res.cookie("refresh_token", tokenValue, { 
  httpOnly: true, 
  secure: true, 
  sameSite: "None", 
  path: "/", 
});

前端React用Axios请求刷新token时,已经设置了withCredentials: true:

const res = await axios.post(
  api_url("/user/refresh_token"),
  {},
  { withCredentials: true, }
);

在普通浏览器里测试完全正常:服务器设置的Cookie会被自动存储,后续请求也会自动带上这个Cookie。但在Capacitor打包的Android模拟器里运行时,第一次请求能拿到响应,但后续请求里完全看不到这个HttpOnly Cookie,导致认证直接失败,就像Cookie根本没被存过一样。

我的疑问

  1. 这是不是Capacitor的WebView在Android/iOS上对HttpOnly Cookie的已知限制?
  2. 是不是需要额外配置什么(比如CookieManager、Capacitor的Cookies插件、WebView设置),才能让Cookie正常存储并附加到请求里?
  3. 是不是在Capacitor应用里,更推荐的方案是放弃依赖HttpOnly Cookie,转而手动把token存在Preferences或Secure Storage里,然后通过Authorization头来传递?

有没有大佬遇到过类似问题,或者知道该怎么配置才能让HttpOnly Cookie在Capacitor里正常工作?感谢大家的帮忙!

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.07 09:18:01