如何将cookie从域设置为子域



这是一个协议问题,与特定的编程语言无关。

假设我们目前有:

  • 使用域的网站:example.com
  • 位于以下位置的前端应用程序:example.com/example-front
  • API,网址:example.com/api/example-data
  • 所有使用HTTPS的地址
  • 前端应用程序调用API登录并获得set-cookie: data=SOME_DATA; Secure; httpOnly; Path=/; Domain=example.com,它按预期工作
  1. 我们想将前端应用程序从example.com/example-front转移到front.example.com
  2. API将保持在同一地址

应该做什么(前端/后端/子域网关(才能使其工作

(已尝试设置domain=.example.comsameSite=None(。

在检查了所有需要做的事情并在生产中进行了验证后,解决此问题的步骤是:

从前端角度来看:

  • 如果您使用axios/XHR-添加凭据:true
  • 如果您正在使用fetch-add凭据:true

从后端角度(API(:

  1. 添加标题:"访问控制允许来源:[指定特定子域,包括协议。例如:https://sub.example.com]">
  2. 添加"访问控制允许凭据:true">
  3. 在"set cookie"标头中,您应该提到:"httpOnly;secure;domain=example.com;sameSite=None;">

相关内容

  • 没有找到相关文章

最新更新