我使用的是AWS API Gateway及其HTTP代理,
我需要通过AWS API Gateway将Authorization标头传递给我的端点
我尝试的事情:
设置方法请求,如此,
这不起作用,我的应用程序没有收到授权标题,
我也尝试过使用制图模板
{
"method": "$context.httpMethod",
"body" : $input.json('$'),
"headers": {
#foreach($param in $input.params().header.keySet())
"$param": "$util.escapeJavaScript($input.params().header.get($param))" #if($foreach.hasNext),#end
#end
},
"queryParams": {
#foreach($param in $input.params().querystring.keySet())
"$param": "$util.escapeJavaScript($input.params().querystring.get($param))" #if($foreach.hasNext),#end
#end
},
"pathParams": {
#foreach($param in $input.params().path.keySet())
"$param": "$util.escapeJavaScript($input.params().path.get($param))" #if($foreach.hasNext),#end
#end
}
}
这也没有用。
任何人都可以给我一些关于如何实现这一目标的暗示吗?
答案 0 :(得分:1)
由于安全原因,API网关会剥离AWS SigV4授权标头。如果您使用其他授权机制(如OAuth),则不会删除标题。
答案 1 :(得分:0)
最近,我不得不尝试使用API网关HTTP代理将AWS SigV4 HTTP请求传递到终端节点。 经过测试和调试后,发现授权已被使用且未通过! 因此,在将请求发送到API网关时-我发送了授权和另一份“ myauth”标头。 (因为请求来自我自己的客户,所以我能够做到这一点。)
在方法请求中,我添加了Authorization和myauth作为HTTP标头 Method Request - HTTP Headers
在集成请求-HTTP标头中,我将myauth映射到Authorization,然后再转发给终结点
Integration Request - HTTP Headers
不知道这是执行此操作的最佳方法,还是可能存在任何潜在问题,但这是可行的!希望这可以帮助某人或提供一些想法。