使用HTTP代理访问AWS API Gateway中的标头?

iho*_*yam 5 amazon aws-api-gateway

我正在使用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
  }  
}
Run Code Online (Sandbox Code Playgroud)

这也行不通.

任何人都可以给我一些关于如何实现这一点的暗示吗?

Kar*_*k R 1

最近,我不得不尝试使用 API Gateway HTTP 代理将 AWS SigV4 HTTP 请求传递到端点。经过测试调试发现Authorization正在被消耗,没有通过!因此,在将请求发送到 API 网关时,我发送了授权和授权副本作为另一个标头“myauth”。(我之所以能够做到这一点,是因为请求来自我自己的客户。)

在方法请求中,我添加了 Authorization 和 myauth 作为 HTTP Headers Method Request - HTTP Headers

在集成请求 - HTTP 标头中,我在将 myauth 转发到端点之前将其映射到授权

集成请求 - HTTP 标头

不知道这是否是最好的方法,或者是否存在任何潜在的问题,但这有效!希望这可以帮助某人或提供一些想法。