我正在尝试从 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 之外,所有其他 header 都显示在 Chrome 中的响应 header 下。我尝试将 Set-Cookie
添加到 200
的方法响应中,但这没有什么区别。
有什么想法可以让它发挥作用吗?谢谢!
最佳答案
您的代码看起来不错,因为以下示例可以正常设置 cookie
设置cookie:
{
"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 gateway Method 页面上,选择 Integration Response。在默认 200 HTTP 状态的 header 映射部分下,选择铅笔图标以编辑“Set-Cookie” header 。在映射值部分中,输入:
integration.response.body.Cookie
现在下一步选择集成响应。在默认 200 HTTP 状态的 header 映射部分下,选择铅笔图标以编辑“Set-Cookie” header 。在映射值部分。
现在调试 - 您可以使用以下链接并分享在 cookie 的 devtools 中可以看到的内容吗 -https://developers.google.com/web/tools/chrome-devtools/storage/cookies
关于node.js - 使用 Lambda 代理的 API 网关设置 Cookie,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57529079/