本地部署中的 HttpOnly cookie 设置,但不是远程部署

HttpOnly cookie setting in local deployment but not remote deployment

我有一个本地服务器成功地在本地客户端上设置了 HtmlOnly cookie,但远程服务器上的相同代码没有设置 cookie。

本地服务器是 http://localhost:8000 上的 Chalice 服务器 运行。响应 headers 是:

{
    'Content-Type': 'application/json', 
    'Access-Control-Allow-Origin': 'http://localhost:5000', 
    'Access-Control-Allow-Credentials': 'true', 
    'Set-Cookie': 'refresh-token=my_token_value; <Max-Age>=605000; Path=/; HttpOnly'
}

本地客户端在 http://localhost:5000' 上 运行。它通过 fetch:

调用
fetch("http://localhost:8000/login", {
    method: 'POST',
    headers: {'Content-Type': 'text/plain'},
    body: JSON.stringify(payload),
    credentials: 'include',
    mode: 'cors'
})

远程服务器是 运行,类似于 https://my-server-domain.com/api。响应 headers 是:

{
    'Content-Type': 'application/json', 
    'Access-Control-Allow-Origin': 'https://my-client-domain.com', 
    'Access-Control-Allow-Credentials': 'true', 
    'Set-Cookie': 'refresh-token=my_token_value; <Max-Age>=605000; Path=/; HttpOnly'
}

远程客户端在 运行 上 https://my-client-domain.com。调用方式与本地客户端相同:

fetch("https://my-server-domain.com/api/login", {
    method: 'POST',
    headers: {'Content-Type': 'text/plain'},
    body: JSON.stringify(payload),
    credentials: 'include',
    mode: 'cors'
})

对远程服务器的 API 调用 工作 -- 他们 return 预期的响应 -- 但 cookie 没有设置到浏览器.关于为什么会这样有什么建议吗?

尝试直接在客户端简单设置cookie,然后发送到服务器

我的本地部署和远程部署之间的最大区别是 运行 超过 https。最终起作用的是将 SameSite=None; Secure 设置为 cookie。