首页 文章

AWS API网关自定义授权 Headers 区分大小写

提问于
浏览
3

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

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

2 回答

  • 0

    是的,这是客户授权人员的已知问题,也是API网关中的标头映射功能 . Headers 匹配区分大小写,正如您所说的那样违反规范 . 我没有用于修复此问题的ETA,但这是我们想要解决的已知问题 .

    Edit: This should now be resolved. The custom authorizer header match is case insensitive.

  • 4

    我怀疑你可能在“身份令牌源”字段中有method.request.header.Authorization而不是method.request.header.authorization(见附件图片) . 也许它不是AWS不遵循 Headers 标准的问题,而是它与你告诉它寻找的匹配......

    Check out this image for header matching settings

    不知道您是否可以在API网关使用的其他标头请求/响应匹配字段中使用不区分大小写的正则表达式 . 也许像/(?i)授权/ . (纯粹猜测)

    也可以看看:

    blog post on custom authorizers in api gateway

相关问题