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

Nestjs环境下GraphQL登录Mutation返回Set-Cookie头但Cookie未设置问题

问题根因

Set-Cookie不生效由两个配置问题共同导致:

  1. GraphQL Playground的凭证请求配置错误
    你提供的Playground配置中request.credentials参数值为omit,该配置控制Playground发起请求时的凭证处理逻辑,设为omit时浏览器会主动忽略响应返回的Set-Cookie头,不会存储对应Cookie。
  2. CORS配置与当前测试场景不匹配
    你当前在http://localhost:3000的GraphQL Playground中发起测试,但App Module中配置的CORS允许来源仅包含生产域名和http://localhost:4000,跨域规则不匹配也会导致Cookie存储被拦截。

修复步骤

  • 调整GraphQL Playground配置:将配置项"request.credentials": "omit"修改为"request.credentials": "include",修改后重启服务重新发起login请求即可触发Cookie存储。
  • 调整开发环境CORS规则:将App Module中CORS的origin配置补充http://localhost:3000,或者开发阶段临时设置为true允许所有来源,避免跨域拦截。
  • 后续前端开发注意事项:前端部署在http://localhost:4000后,发起GraphQL请求时需要主动开启凭证配置,如使用fetch请求则添加credentials: 'include'参数,使用Apollo Client则在实例化时配置credentials: 'include',否则前端同样会出现无法存储Cookie的问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 03:15:02