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

Angular+Spring Boot项目本地运行时Set-Cookie头HttpOnly cookie未存储问题

核心原因

你遇到的DO_NOT_SAVE_COOKIES标记本质是浏览器判定请求对应的站点上下文不满足Cookie存储要求,核心诱因有两个:

  1. 域名不统一:你的前端运行在https://localhost:4200,但请求的后端地址是https://127.0.0.1:8082,Chrome会将localhost和127.0.0.1判定为两个完全独立的站点,导致site_for_cookies为空,直接触发禁止存储Cookie的逻辑。
  2. CORS配置不规范:你在@CrossOrigin注解中配置了origins = "*",但CORS规范明确要求,当接口允许携带凭证(allowCredentials = "true")时,不允许将允许源设置为通配符*,虽然你当前的响应中返回了具体的源地址,但该配置可能引发潜在的兼容问题。

解决方案

按优先级依次调整即可:

  • 统一前后端访问域名:将Angular侧的请求地址从https://127.0.0.1:8082/auth/token改为https://localhost:8082/auth/token,确保前后端都使用localhost作为访问域名,消除跨站判定。
  • 修正CORS配置:将@CrossOrigin注解的origins字段改为明确的前端地址,修改后配置如下:
@CrossOrigin(origins = "https://localhost:4200", allowedHeaders = "*", allowCredentials = "true")
  • 检查浏览器第三方Cookie配置:由于你使用了SameSite=None的Cookie,属于第三方Cookie范畴,请访问chrome://settings/cookies确认没有开启「阻止所有第三方Cookie」选项,开发阶段可将localhost加入Cookie允许列表。
  • 全局配置Angular请求凭证:建议在Angular的HttpClient全局拦截器中统一配置withCredentials: true,避免单次请求配置被全局规则覆盖。

调整完成后清除浏览器缓存重试,即可正常存储HttpOnly Cookie。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.29 10:57:05