【发布时间】:2018-08-27 13:50:25
【问题描述】:
我希望使用 API Gateway + Lambda + Cognito 用户池来构建一个简单的 REST API。
API 将以两种方式使用。第一个是支持基本的 Web 应用程序(托管在 CloudFront + S3 上)。 Web 应用程序的身份验证使用托管的 Cognito 登录/注册流程,并且工作正常(通过 API 网关设置以使用用户池身份验证器)。
第二种方法是让客户使用 REST API 与系统进行通信。
例如,客户端可能使用 Web 应用配置工作流,然后使用 API 调用该工作流。
验证 API 以用于后端服务的推荐方法是什么?
传统上,我希望为此目的使用 API 密钥 + 秘密令牌。我在 API Gateway 界面中创建 API 密钥没有任何问题,但是我看不到将其链接到特定用户,也看不到任何在 API 密钥旁边指定秘密令牌的方法。
假设上述是可能的,我将如何设置它以使我可以将基于 JWT 的方法用于 Web 应用程序并使用 API 密钥 + 秘密令牌供客户使用。
编辑:此外,我注意到应用程序客户端有一个 ID 和一个秘密。它们是否打算用于第 3 次基于 API 的身份验证(类似于其他系统如何让您创建用于 API 访问的应用程序)?我有点怀疑,因为每个用户池有 25 个限制,尽管这是一个软限制......
【问题讨论】:
标签: rest authentication aws-lambda aws-api-gateway amazon-cognito