【问题标题】:AWS REST Api gateway: Create Integration Request header from context data?AWS REST Api 网关:从上下文数据创建集成请求标头?
【发布时间】:2022-12-13 00:26:11
【问题描述】:

我无法使用上下文数据在请求集成中创建新标头。

我使用 lambda 授权方返回上下文并将它们映射到模板映射中。

lambda 授权方的响应:

{ 
  <<allow policy here>>,
  "context": {
    "uid": "some user id"
  }
}

尝试 1:

但是,我无法使用上下文中的数据来生成用于集成的标头。

HTTP Headers
------------------------------------------
| Name      | Mapped from                |
------------------------------------------
| myheader  | context.authorizer.uid     |
------------------------------------------

uid 不会映射到 myheader 字段,也不会显示标题。

尝试 2:

我还尝试在 VTL 中使用模板映射重新映射 $input.params().header.myheader = "$context.authorizer.uid" 并尝试映射该标头

HTTP Headers
---------------------------------------------
| Name       |      Mapped From             |
---------------------------------------------
| myheader   |method.request.header.myheader|
---------------------------------------------

这对我也没有用。在集成请求标头中发送"some user id" 的可能解决方案是什么?

【问题讨论】:

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


    【解决方案1】:

    在映射模板中,您通过添加以下内容设置了请求标头覆盖:#set($context.requestOverride.header.myheader = $context.authorizer.uid)

    参考:https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-override-request-response-parameters.html#apigateway-override-request-response-parameters-override-request

    【讨论】:

      猜你喜欢
      • 2022-07-05
      • 2018-03-06
      • 1970-01-01
      • 2020-01-22
      • 2021-01-13
      • 1970-01-01
      • 2020-12-13
      • 2023-03-10
      • 2020-03-10
      相关资源
      最近更新 更多