AWS API Gateway Cognito 授权模拟

问题描述

我刚刚开始学习开发 AWS 无服务器应用程序,但遇到了这个问题。

我创建了一个由 APIGW 和 Lambdas 组成的无服务器应用程序。对于 APIGW 的授权,我选择了使用 Google Federation 的 Cognito Identity Pools。是否可以在没有 UI 组件的情况下进行测试?我想做的是通过 Postman 测试整个 api 认证和授权过程。

如果没有 UI,我无法通过谷歌进行身份验证并获得 id 令牌。我需要将此 id 令牌传递给我的身份验证端点,以从 Cognito 检索 AccessKeyId 和 SecretAccessKey。然后,我会将 AccessKeyId 和 SecretAccessKey 传递给 postman 中的 APIGW 调用

有没有办法从谷歌获取 ID 令牌?不使用 UI 代码。类似于手动将我的 google 凭据和应用程序客户端 ID 传递给 google,以便它返回给我一个有效的 id 令牌。

解决方法

从谷歌获取经过身份验证的 id 令牌的唯一方法是通过身份验证流程。否则会出现一些安全问题。您可以做的是创建一个 Cognito 用户池,并使用自己的映射到 Cognito 身份角色并使用 AWS API 从那里获取凭证。