【发布时间】:2019-07-17 13:31:33
【问题描述】:
我正在尝试创建一个可以授权我的 JWT 的 AWS API Gateway 端点。
自定义 (Lambda) 授权方无法做到这一点,因为它们需要一个签名的授权标头,该标头需要 IAM 用户的 AWS 访问密钥和密钥。不受信任的来源,如网络应用程序,无法保密,因此我们无法将访问密钥捆绑到客户端应用程序中。因此,此自定义授权者不适用于 Web 应用。
在 API Gateway 中实现 JWT 身份验证的唯一方法是将身份验证逻辑实现到 Lambda 函数本身中。
有人不同意吗?是否存在安全漏洞?这是滥用 API Gateway 吗?
【问题讨论】:
-
只需创建您的自定义 lambda 授权者,按照您的方式验证您的 jwt 令牌,按照您的规则允许或拒绝访问客户端方法。 nodejs 示例github.com/awslabs/aws-apigateway-lambda-authorizer-blueprints/…
-
@hoangdv - 但我仍然需要一个签名的 Auth 标头,对吧?
-
您可以将任何内容推送到
Authorization标头以通过此检查。
标签: amazon-web-services aws-lambda jwt aws-api-gateway