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

问题描述 投票:0回答:1

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

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

aws cognito-idp initiate-auth ...

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

amazon-web-services aws-api-gateway amazon-cognito
1个回答
0
投票

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

  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授权者配置。

© www.soinside.com 2019 - 2024. All rights reserved.