AWS API Gateway Cognito 授权模拟
Posted
技术标签:
【中文标题】AWS API Gateway Cognito 授权模拟【英文标题】:AWS API Gateway Cognito Authorization simulation 【发布时间】:2021-08-05 08:15:33 【问题描述】:我刚刚开始学习开发 AWS 无服务器应用程序,我遇到了这个问题。
我创建了一个由 APIGW 和 Lambda 组成的无服务器应用程序。对于 APIGW 的授权,我选择了使用 Google Federation 的 Cognito 身份池。是否可以在没有 UI 组件的情况下进行测试?我要做的是通过 Postman 测试整个 api 身份验证和授权过程。
没有 UI,我无法通过 google 进行身份验证并获得 id 令牌。我需要将此 id 令牌传递给我的身份验证端点,以从 Cognito 检索 AccessKeyId 和 SecretAccessKey。然后,我会将 AccessKeyId 和 SecretAccessKey 传递给我在邮递员中的 APIGW 调用。
有没有办法从谷歌获取 ID 令牌?不使用 UI 代码。像手动将我的谷歌凭据和应用程序客户端 ID 传递给谷歌,这样它就会返回给我一个有效的 ID 令牌。
【问题讨论】:
【参考方案1】:从 google 获取经过身份验证的 id 令牌的唯一方法是通过身份验证流程。否则会带来一些安全问题。您可以做的是创建一个 Cognito 用户池,该池具有自己到 cognito 身份角色的映射,并使用 AWS API 从那里获取凭证。
【讨论】:
以上是关于AWS API Gateway Cognito 授权模拟的主要内容,如果未能解决你的问题,请参考以下文章
如何通过 Cognito 用户 ID 限制访问 AWS API Gateway 端点
AWS Cognito 和 AWS API Gateway 中的用户管理和基于令牌的身份验证
AWS API Gateway 身份验证(Cognito 与自定义授权者)
AWS API Gateway + Cognito 用户池授权方 + Lambda - 我需要设置哪些 HTTP 标头和权限?
如何为 CORS 预检请求绕过 AWS API Gateway 代理资源上的 Cognito 授权方?
具有 Cognito 身份验证的 AWS API Gateway Lambda 函数返回 415 Unsupported Media Type