使用API​​网关测试Cognito用户池身份验证

时间:2020-03-23 17:01:33

标签: amazon-web-services aws-api-gateway amazon-cognito

我希望我的客户端应用程序使用受Cognito用户池保护的API网关在dynamoDb实例中插入记录。

我已经创建了用户池,并将其作为授权者添加到我的API网关方法调用中。使用AWS Cli,我运行了以下命令,该命令为我提供了访问令牌:

aws cognito-idp initiate-auth ...

我的基础架构似乎正在运行,现在我需要朝哪个方向务实地实现以用户池中的用户身份登录,获取令牌并调用我的API方法?

1 个答案:

答案 0 :(得分:1)

这并不难。您需要执行某些步骤。

  1. 在Cognito用户池中创建一个用户。通过选择的激活消息进行确认。根据用户池设置,它可以是短信或电子邮件。

  2. 确认用户后,需要从Cognito SDK调用登录API。由于我对NodeJS很熟悉,因此让我获取方法名称-https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_InitiateAuth.html。将AuthFLow设置为ADMIN_NO_SRP_AUTH。此APi的响应将具有一个idToken,一个accessToken和一个refreshToken。由于您需要在客户端使用这些凭据,因此请以您喜欢的语言编写API,然后将其公开给客户端并返回令牌。

  3. 使用idToken对您的API网关授权者进行API调用。这是您使用邮递员-

  4. 传递令牌的方式

enter image description here

您可以使用任何客户端复制相同的内容。如果遇到任何错误,最好向我显示您的APIG授权者配置。