amazon-web-services - 使用存储在 DynamoDB 中的用户进行 AWS Gateway API 身份验证

标签 amazon-web-services aws-lambda

我正在尝试实现以下方案:

在前端使用 Angular SPA,在后端使用 Gateway API + lambda 函数

由于我的应用程序需要身份验证,因此将有/auth 端点检查用户凭据(用户存储在 DynamoDB 中)并在成功时返回身份验证 token (JWT)。客户端必须向后端发送每个请求时的身份验证 token ,而我的 lambda 函数必须验证这些 token 。

这个方案看起来不错,但我想知道能否以某种方式对其进行更改,以便将检查 token 的责任从 lambda 函数(上图中的 lambdaAction)中移出?

我看过使用第三方服务的教程,比如Auth0 在网关 API 中进行身份验证,在任何 lambda 函数之前(参见 the link 例如)但我无法弄清楚如何将这些服务用于存储在我自己的数据库中的用户。

所以,简而言之,我的问题是:是否可以将网关 API 与基于 token 的身份验证一起用于存储在我的数据库中的用户

最佳答案

Auth0 示例仍然使用 Lambda 函数来验证每个请求的 JWT。 API 网关不会自动验证 JSON Web token ,您必须提供一个 Lambda 函数来执行此操作。

我会考虑使用新的 API Gateway Custom Authorizers特征。这样您就可以拥有一个 Lambda 函数,负责为每个请求验证 JWT。这使您的身份验证代码封装在单个函数中,而不是在每个 Lambda 函数中重复。它还允许您在 Lambda 中进行身份验证,而实际的 API 端点可能指向 Lambda 以外的其他内容。

关于amazon-web-services - 使用存储在 DynamoDB 中的用户进行 AWS Gateway API 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36035064/

相关文章:

java - 在 AWS Lambda 控制台中的何处可以找到从 AWS Toolkit for Lambda 上传的 Java 代码

amazon-web-services - AWS 公共(public) DNS 删除

amazon-web-services - 在 AWS Lambda 中存储单个值的最佳实践

amazon-web-services - 在 2018 年,允许调用单个 lambda 函数的正确方法是什么?

python - 在 AWS Lambda 上使用的加密包中找不到恒定时间模块

node.js - NodeJS 和 AWS Lambda 的异步等待问题

amazon-web-services - aws lambda 函数在从 s3 获取对象时拒绝访问

amazon-web-services - ELB 监听器协议(protocol)和证书正在重置

amazon-web-services - AWS CLI Update_Stack 无法传递包含/的参数值

amazon-web-services - Terraform 数据结构 : object and list of object issue