【问题标题】:Call API Gateway REST API using Cognito Federated Identities使用 Cognito 联合身份调用 API Gateway REST API
【发布时间】:2019-08-20 14:13:35
【问题描述】:

我已通过 Facebook 进行身份验证并拥有以下信息:

  • accessKeyId
  • 秘密访问密钥
  • 身份标识
  • 会话令牌

如何在 API Gateway 中调用我的 api(不生成 sdk)?

【问题讨论】:

  • 这方面有更新吗?
  • 是的,我最终想通了。不太确定最初的问题是什么。您是否也在寻求解决方案,或者只是想知道这是否应该关闭?也许分享一个指向您自己问题的链接,我可能会提供帮助。我正在使用 JavaScript 和无服务器框架,但在配置 aws 和 CORS 时遇到了问题。我可以看看我的 cloudformation 模板是否有用?
  • 我正在寻找解决方案,如果你能指导我
  • 也有兴趣解决这个问题。
  • 我也遇到了同样的问题。我已经通过 Facebook 进行了身份验证,并收到了 accessKeyId、secretAccessKey、identityId 和 sessionToken。我尝试使用它们来调用我的 API 网关,但没有一个起作用。您使用什么令牌来调用您的 API 网关?我可以使用用户池中的用户成功调用我的 API 网关,但是当我尝试使用经过身份验证的 Facebook 用户调用它时会收到未经授权的消息。

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


【解决方案1】:

我知道这是一个老问题,但我使用 Postman 找到了答案。

这是AWS docs的精髓:

  1. 启动 Postman。
  2. 在地址栏中输入请求的端点 URL,然后从左侧的下拉列表中选择适当的 HTTP 方法 地址栏。
  3. 如果需要,请选择授权标签。为授权Type选择AWS Signature。在中输入您的 AWS IAM 用户的访问密钥 ID AccessKey 输入字段。输入您的 IAM 用户密钥 密钥。指定与该区域匹配的适当 AWS 区域 在调用 URL 中指定。在服务名称中输入execute-api

这将成功调用 API 网关。只有正确设置了用户池和身份池,并且 API 网关资源的 Method Request 设置中的 Authorization 属性设置为 AWS_IAM

有关 API 调用的 AWS 签名的更多信息,请查看此SO post。虽然这个SO post 包含更多信息,并带有图片,关于如何在 Postman 中发出 API 网关请求。

【讨论】:

    猜你喜欢
    • 2019-04-28
    • 1970-01-01
    • 2016-12-25
    • 2018-08-13
    • 2016-08-20
    • 2018-08-27
    • 2016-12-17
    • 2017-05-29
    • 2020-01-05
    相关资源
    最近更新 更多