使用 HTTP 代理访问 AWS API 网关中的 headers?
Access headers in AWS API Gateway using HTTP Proxy?
我正在使用 AWS API 网关,它是 HTTP 代理,
我需要通过 AWS API 网关
将授权 header 传递到我的端点
我尝试过的事情:
像这样设置方法请求,
集成请求设置
这不起作用,我的应用没有收到授权 header,
我也试过使用映射模板
{
"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
}
}
这也行不通。
谁能给我一些关于如何实现的提示?
API 出于安全原因,网关剥离了 AWS SigV4 授权 header。如果您使用 OAuth 等其他授权机制,则 header 不会被删除。
最近我不得不尝试使用 API 网关 HTTP 代理将 AWS SigV4 HTTP 请求传递到端点。
经过测试调试发现Authorization正在被消费,并没有通过!
因此,在将请求发送到 API 网关时 - 我发送了授权和授权副本作为另一个 header "myauth"。 (我能够做到这一点,因为请求来自我自己的客户。)
在方法请求中,我将 Authorization 和 myauth 添加为 HTTP Headers
Method Request - HTTP Headers
在集成请求 - HTTP Headers 中,我在将 myauth 转发到端点之前将其映射到授权
Integration Request - HTTP Headers
不知道这是否是执行此操作的最佳方法,或者是否存在任何潜在问题,但这有效!希望这可以帮助某人或提供一些想法。
我正在使用 AWS API 网关,它是 HTTP 代理,
我需要通过 AWS API 网关
将授权 header 传递到我的端点我尝试过的事情:
像这样设置方法请求,
集成请求设置
这不起作用,我的应用没有收到授权 header,
我也试过使用映射模板
{
"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
}
}
这也行不通。
谁能给我一些关于如何实现的提示?
API 出于安全原因,网关剥离了 AWS SigV4 授权 header。如果您使用 OAuth 等其他授权机制,则 header 不会被删除。
最近我不得不尝试使用 API 网关 HTTP 代理将 AWS SigV4 HTTP 请求传递到端点。 经过测试调试发现Authorization正在被消费,并没有通过! 因此,在将请求发送到 API 网关时 - 我发送了授权和授权副本作为另一个 header "myauth"。 (我能够做到这一点,因为请求来自我自己的客户。)
在方法请求中,我将 Authorization 和 myauth 添加为 HTTP Headers Method Request - HTTP Headers
在集成请求 - HTTP Headers 中,我在将 myauth 转发到端点之前将其映射到授权
Integration Request - HTTP Headers
不知道这是否是执行此操作的最佳方法,或者是否存在任何潜在问题,但这有效!希望这可以帮助某人或提供一些想法。