API网关无法访问Cookie标头

时间:2016-05-16 10:42:06

标签: amazon-web-services aws-api-gateway

我似乎无法将API网关中的Cookie标头映射到我的lambda的输入。我已经设置了以下正文映射模板:

{
    "rawCookieString" : "$input.params().header.get('Cookie')" 
}

并且无法映射Cookie标头,并将该字段留空。如果我将Cookie更改为任何其他标题,例如“测试”,它可以正常工作!任何想法为什么Cookie标题似乎被忽略?

1 个答案:

答案 0 :(得分:1)

昨天我遇到了同样的问题。我通过更改要发送给lambda的cookie值来解决这个问题。

原因可能是你的格式不正确。

如果你发送这样的cookie:

curl -v --cookie "CXLZOYXA" https://XXXXXX.execute-api.ap-southeast-2.amazonaws.com/beta/pets 

cookie不会被添加到请求标头的标头中(在AWS API Gateway中,您可以获取cookie)。

> GET /beta/pets HTTP/1.1
> Host: p6useiue14.execute-api.ap-southeast-2.amazonaws.com
> User-Agent: curl/7.43.0
> Accept: */*
> 

如果你发送这样的cookie:

curl -v --cookie "name=CXLZOYXA" https://XXXXX.execute-api.ap-southeast-2.amazonaws.com/beta/pets 

将cookie添加到请求标头的标头中。

> GET /beta/pets HTTP/1.1
> Host: p6useiue14.execute-api.ap-southeast-2.amazonaws.com
> User-Agent: curl/7.43.0
> Accept: */*
> Cookie: name=CXLZOYXA
>