【问题标题】:How do I use AWS cognito response to authenticate API requests如何使用 AWS cognito 响应对 API 请求进行身份验证
【发布时间】:2017-06-16 01:26:58
【问题描述】:

我正在构建一个通过 AWS Cognito 进行身份验证的 Web 应用程序,并使用现有的 API 网关配置与 Lambda 函数通信。

在我的应用中,当我进行身份验证时,我会从 Cognito 获取以下数据:

我获得的用于向 Amazon API 网关进行身份验证的示例标头如下所示(为混淆添加了 x):

Content-type: application/json
Host: <API Gateway host>
X-Amz-DateL <Date>
Authorization:
AWS4-HMAC-SHA256 Credential=XXXXXXXXXXXX/20170222/ap-southeast-2/execute-api/aws4_request, SignedHeaders=content-type;host;x-amz-date, Signature=f25e2a18d8c81fe9e7XXXXXXXXXXXXXXXXb7d586d24a3e39
Access_key:XXXXXXXX (this is a large string)

我的问题是我需要从我的 cognito 结果中获取哪些信息来制作我需要连接到 api 的标头?

我使用 Vue.js 作为 Javascript 前端,我查看了适用于 Javascript 的 AWS 开发工具包,但不确定这是否对我有帮助 - 目前我觉得手动制作标头可能更容易?

【问题讨论】:

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


    【解决方案1】:

    我相信您要做的是授权您已经通过身份验证的用户。授权和认证的区别说明可以看here

    授权的情况下,您可以创建Custom Authorizer。但是,由于您使用的是 Amazon Cognito,因此请务必创建一个 Cognito User Pool Authorizer

    基本上,您将使用 Cognito 中的 IdToken 并将其作为 Authorization 标头传递给您的授权函数。

    另见Integrating Amazon Cognito User Pools with API Gateway

    【讨论】:

      猜你喜欢
      • 2019-12-31
      • 1970-01-01
      • 2018-03-14
      • 2017-05-23
      • 2020-01-01
      • 1970-01-01
      • 2017-10-14
      • 1970-01-01
      • 2016-09-27
      相关资源
      最近更新 更多