使用 AWS Cognito 保护 REST API
Posted
技术标签:
【中文标题】使用 AWS Cognito 保护 REST API【英文标题】:Securing REST API Using AWS Cognito 【发布时间】:2020-04-18 13:53:04 【问题描述】:我正在探索如何保护基于 REST 的 API 被跨各种平台(包括移动、Web 和 OTT 应用程序)的最终用户应用程序调用。
应用程序有自己的可选登录过程,但用户也可以匿名使用应用程序。
我们是一家 AWS 商店,我正在寻找使用 Cognito 和 Lambda@Edge 的更通用的解决方案,可能使用 JWT 令牌。
但是,我无法将用于从 Cognito 发布 JWT 令牌的选项拼凑起来,尤其是考虑到我们不需要任何形式的登录。是否有使用某种形式的旋转秘密的选项?还有其他选择吗?
【问题讨论】:
【参考方案1】:在 API Gateway 中,您可以使用 cognito 令牌保护您的 API。
创建授权方法并选择您想要的用户池 使用。 将此方法附加到您要保护的 API。 现在您需要在每次调用的标头中传递 ID TOKEN。 如果令牌不正确或过期,API 调用将失败。您可以阅读更多here。
【讨论】:
以上是关于使用 AWS Cognito 保护 REST API的主要内容,如果未能解决你的问题,请参考以下文章
在静态网页上保护 AWS Cognito 用户池和客户端 ID
使用多个用户池的具有 Cognito 授权的 AWS API 网关
通过 Cognito 生成的授权令牌识别 AWS Lambda 中的用户
具有公共/私有访问权限的 Appsync 身份验证,无需 AWS Cognito