首页 > 解决方案 > 调试 AWS HTTP API (beta) JWT Authorizer

问题描述

我正在试验AWS Api Gateway 的测试版“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。

标签: amazon-web-servicesamazon-api-gateway

解决方案


看看响应。如果身份验证失败,则有一个名为 www-authenticate 的标头,其中包含错误响应。

IE:

www-authenticate: Bearer scope="" error="invalid_token" error_description="JWKS 通信错误"

如果您使用 curl,您可以尝试使用 -v 来查看包括标题在内的完整响应。


推荐阅读