我有一个简单的 Lambda 函数,它通过 SES 发送电子邮件。我可以使用带有所需数据的 POST 请求调用它,它会发送一封电子邮件。我的问题是,我可以使用哪些方法来保护此功能?目前,任何人都可以调用该端点并使用任何数据执行该函数。
问问题
1524 次
1 回答
10
您需要为您的 API 网关设置授权方。本教程是一个很好的起点。
总之,您需要:
您的serverless.yml将与授权配置如下所示:
functions:
hello:
handler: handler.hello
events:
- http:
path: hello
method: post
authorizer:
arn: YOUR_USER_POOL_ARN
您无需受限于 Cognito 授权方。您可以使用为 Google+、Facebook 等配置授权方。
此设置意味着 Lamba 功能将仅由经过身份验证的用户触发,您可以通过检查event
对象来识别用户 ID:
event.requestContext.authorizer.claims.sub
于 2017-06-26T15:43:09.300 回答