如何使用Web应用程序安全地对AWS API Gateway中的请求进行身份验证

时间:2019-07-17 02:33:25

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

我正在尝试制作一个可以授权我的JWT的AWS API Gateway终端。

这对于自定义(Lambda)授权者而言是不可能的,因为它们需要签名的授权标头,该标头需要IAM用户的AWS Access Key和机密。不受信任的来源(例如Web应用程序)无法保守秘密,因此我们无法将Access密钥捆绑到客户端应用程序中。因此,此自定义授权者不适用于Web应用。

在API网关中实现JWT身份验证的唯一方法是在Lambda函数本身中实现身份验证逻辑。

有人反对吗?是否存在安全漏洞?这是对API网关的滥用吗?

这个问题是在herehere之前提出的,但从未得到充分回答。

1 个答案:

答案 0 :(得分:1)

请使用API​​网关中的Authorizer实现此目的。 API网关中可能有多个授权者。

https://docs.aws.amazon.com/apigateway/latest/developerguide/apigateway-control-access-to-api.html