从子域向其他子域请求时丢失 cookie

问题描述 投票:0回答:1

目前我正在与丢失cookie的奇怪现象作斗争..

之前,我也使用 AWS 作为基础设施来处理前端和后端。

previous scenario

由于部署问题,(前端部署序列花费了太长的时间)决定使用Vercel作为前端。

current scenario

现在发生的情况是,请求开始时并未在请求标头中附加 cookie。

由于我目前正在开发流媒体服务,

我有 3 个演员用于流媒体场景

我将缩写为(a.domain.com,b.domain.com,c.domain.com)

a.domain.com = frontend b.domain.com = backend c.domain.com = dvd server

以下是我的场景

streaming scenario

查看cookie的检查表(chrome检查工具->应用程序选项卡),似乎

set-cookie
效果很好。

set cookie works well

但是在向“c.domain.com”发出请求时,我发现请求标头中的 cookie 丢失了。

enter image description here

我尝试过什么??

  1. 设置

    credential : 'include'
    获取时 :: 前端

  2. 允许 CORS :: 后端

  3. 设置cookie时添加

    Domain
    属性::后端 (前任。
    Set-Cookie: wwwCookie=wwwCookie; Domain=.domain.com
    )<- not sure is it
    Domain=domain.com

P.S

与之前的请求和当前的请求(失败)进行比较

我发现为当前请求添加了

partition key
。这与当前问题有关吗?

express next.js cookies https request
1个回答
0
投票

解决了!

问题出在 AWS API Gateway 配置上。

我需要将 API 网关服务的 CORS 配置设置为与我的服务器配置设置完全相同。

关注以下文章

https://medium.com/@sharadokey/understanding-cors-and-cross-origin-cookies-bf36d624da78

向Sharadokey表示感谢

© www.soinside.com 2019 - 2024. All rights reserved.