小编Bra*_*050的帖子

AWS Lambda Set-Cookie 标头未在浏览器中设置

我正在尝试在我的 aws lambda 函数响应中设置 cookie。我没有任何标头映射,因为我正在使用 lambda 代理与 API Gateway 集成。lambda 函数中的响应代码如下所示:

exports.handler = async (event) => {     
const response = {
    statusCode: 200,
    "multiValueHeaders": {
    "Set-Cookie": ["gtgm=6c7729687d5ff1a05f1a5dfb15ce3b8fa3f2b590; path=/; expires=Fri, 13-Feb-2032 13:27:44 GMT; secure; HttpOnly; SameSite=None"]
  },
    headers: {
      "Access-Control-Allow-Origin": "*",
      "Access-Control-Allow-Headers": "*",
      "Access-Control-Allow-Credentials": true,
    },
  };
  return response;
};
Run Code Online (Sandbox Code Playgroud)

我使用 fiddler 检查响应,我可以在响应中看到“Set-Cookie...”,这让我相信上面的代码是正确的?问题是浏览器只是忽略它并且除了 AWS DNT cookie 之外根本不设置任何 cookie。我不确定还需要检查什么,或者我是否遗漏了 cookie 配置中的任何内容。

这就是我的请求:

<Button
      onClick={() => {
        fetch(
          "https:mysupercoolapi.com/cookie-test/",
          {
            // credentials: "include",
            headers: {
              "Content-Type": "application/json",
              // "Access-Control-Allow-Credentials": "true",
            },
          }
        ) …
Run Code Online (Sandbox Code Playgroud)

httpcookie setcookie aws-lambda aws-api-gateway

5
推荐指数
1
解决办法
4504
查看次数