NRa*_*Raf 8 authentication rest amazon-cognito aws-lambda aws-api-gateway
我希望使用API Gateway + Lambda + Cognito用户池来构建一个简单的REST API.
API将以两种方式使用.第一个是支持基本的Web应用程序(托管在CloudFront + S3上).Web应用程序的身份验证使用托管的Cognito登录/注册流程,并且工作正常(使用API网关设置来使用用户池身份验证器).
第二种方法是让客户使用REST API与系统进行通信.
例如,客户端可能使用Web应用程序配置工作流,然后使用API来调用该工作流.
验证API以与后端服务一起使用的推荐方法是什么?
传统上,我希望为此目的使用API密钥+秘密令牌.我在API网关界面中创建API密钥没有问题,但我无论如何都看不到将其链接到特定用户,也看不到任何在API密钥旁边指定秘密令牌的方法.
假设以上是可能的,我将如何设置它以便我可以使用基于JWT的Web应用程序方法和API密钥+秘密令牌供客户使用.
编辑:此外,我注意到应用程序客户端有一个ID和一个秘密.它们是否打算用于第三次基于API的身份验证(类似于其他系统如何使您为API访问创建应用程序)?我有点怀疑,因为每个用户池有25个限制,虽然这是一个软限制......
我自己一直在寻找这个问题的答案,我的搜索使我想到了你的问题。假设您想使用众所周知的密钥/秘密方法,我将根据我的研究为您提供最佳答案。也许其他人可以提供更好的方法。
基本上,方法是:
构建 REST API 授权以使用 Cognito 令牌将允许您将 REST API 直接与API Gateway 对 Cognito 的支持集成。
我认为这整个事情中最令人头疼的是你必须创建支持部分,例如注册用户请求 API 帐户和管理这些帐户,以及一些额外的辅助 REST 端点用于令牌交换。此外,客户端必须跟踪密钥/秘密和令牌,并添加客户端逻辑以了解何时提供令牌或凭据。
小智 1
当我开始使用 API gateway 和 Congito 时,我大量引用了https://github.com/awslabs/aws-serverless-auth-reference-app ,发现它对于演示不同 AWS 组件之间的集成非常有帮助。
| 归档时间: |
|
| 查看次数: |
2992 次 |
| 最近记录: |