【问题标题】:AWS API Gateway Custom Authorization header case sensitivityAWS API Gateway 自定义授权标头区分大小写
【发布时间】:2016-08-02 16:23:20
【问题描述】:

AWS API Gateway 提供an option 以通过 Lambda 函数使用自定义授权。在这种方法中,用户需要配置自定义标头名称(例如:授权或授权)。此标头值由网关提取并传递给 Lambda 事件。

但是,Gateway 会区分大小写搜索传入的标头。即如果用户将标头指定为 authorization 而不是 Authorization,则网关返回 401。为什么当 http 协议声明标头可以不区分大小写时,此搜索区分大小写。

【问题讨论】:

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


    【解决方案1】:

    是的,这是客户授权方的已知问题,也是 API Gateway 中的标头映射功能。标头匹配区分大小写,正如您所说,这违反了规范。我没有解决此问题的 ETA,但这是我们想要解决的已知问题。

    编辑:现在应该已经解决了。自定义授权标头匹配不区分大小写。

    【讨论】:

    【解决方案2】:

    我怀疑您可能在“身份令牌源”字段中获得了method.request.header.Authorization,而不是method.request.header.authorization(见附图)。也许这不是 AWS 不遵循标头标准的问题,而是它与您告诉它要查找的内容相匹配...


    (来源:amazon.com

    想知道您是否可以像在 API 网关使用的其他标头请求/响应匹配字段中那样使用不区分大小写的正则表达式。也许像/(?i)authorization/ 这样的东西。 (纯属猜测)

    另见:

    blog post on custom authorizers in api gateway

    【讨论】:

    • 请记住,不区分大小写意味着还应处理 auTHoriZatioN 和授权。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-11-30
    • 1970-01-01
    • 2019-03-04
    • 2018-04-17
    • 2018-10-01
    • 2018-03-21
    • 2020-06-17
    相关资源
    最近更新 更多