【发布时间】:2020-05-01 21:28:08
【问题描述】:
我正在试验AWS Api Gateway's beta "HTTP API" 功能。
作为此实验的一部分,我正在尝试使用“JWT Authorizer”授权对 api 的访问:
https://docs.aws.amazon.com/apigateway/latest/developerguide/http-api-jwt-authorizer.html
文档指出,JWT 在获得授权或被拒绝之前,将通过一系列检查/验证 JWT 的工作流程。
没有授权者,端点是可访问的。通过授权人,我得到一个带有 json 的 401 响应:
{"message":"Unauthorized"}
我正在尝试找出授权方拒绝 JWT 的步骤。我已经为 api 端点设置了一个日志,并看到了进来的请求,但它没有提供关于授权失败的原因。
有没有办法调试授权方失败的原因/位置?
注意:这里不是在讨论 lamda 授权者,我也不是使用 Cognito 来生成 JWT。
【问题讨论】:
-
您能否使用 jwt.io 解码您的 JWT 令牌并验证有效负载是否正确且符合预期?
-
有趣的是,我实际上使用 jwt.io 生成了令牌。令牌完全有可能包含不正确/缺失的字段,或者令牌内容与授权人设置不匹配。我目前的主要工作是确定是否可以进行调试。如果我无法深入了解问题所在,那么我不想继续使用亚马逊的网关,因为能够调试对我和我的团队来说非常重要。 (我目前正在评估 AWS API Gateway 作为我团队中使用的工具)
-
我刚到了学习的同一个阶段。似乎一种选择是将所有传入的 [HTTP 请求] 路由到您进行手动调试的无人看守的 [lambda]。 (接下来可能会尝试。)
标签: amazon-web-services amazon-api-gateway