具有Lambda代理的API网关Set-Cookie

时间:2019-08-16 17:52:02

标签: node.js aws-lambda aws-api-gateway

我正在尝试通过Lambda设置一个Cookie,该Cookie会通过API网关,但似乎并没有通过它发送。

这是我尝试发送的内容:

{
  body: JSON.stringify({}),
  headers: {
     'Access-Control-Allow-Origin': '*',
     'Access-Control-Allow-Headers': '*',
     'Access-Control-Allow-Credentials': true,
     'test': 'test',
     'Set-Cookie': 'name=test',
  }
}

除cookie之外,其他所有标头均以chrome形式显示在响应标头下。我尝试将Set-Cookie添加到200的方法响应中,但这没什么区别。

任何想法如何使它起作用?谢谢!

1 个答案:

答案 0 :(得分:0)

您的代码看起来不错,因为以下示例可以很好地设置Cookie

setcookies:

 {
  "statusCode": 200,
  "body": "testing set-cookie headers",
  "headers": {
    "X-Test-Header": "vaquarkhan experiment",
    "Set-Cookie": "cookie2=vaquarkhan",
    "Content-Type": "text/plain"
  }
}

   Set-Cookie header to integration.response.header.Set-Cookie

您可以使用控制台设置厨师并检查开发者工具

步骤:在“ Api Gateay方法”页面上,选择“积分响应”。在默认的200 HTTP状态的“标题映射”部分下,选择铅笔图标以编辑“ Set-Cookie”标题。在映射值部分,输入:

  

integration.response.body.Cookie

enter image description here

现在,下一步选择集成响应。在默认的200 HTTP状态的“标题映射”部分下,选择铅笔图标以编辑“ Set-Cookie”标题。在“映射值”部分。

enter image description here

现在调试-您可以使用以下链接并共享在devtools中看到的Cookie内容吗? -https://developers.google.com/web/tools/chrome-devtools/storage/cookies