如何在 AWS API Gateway 请求的后端获取 Cognito Identity Id?

Ild*_*dar 0 amazon-web-services aws-api-gateway aws-cognito

我在我的 Web 应用程序中使用 AWS Cognito 身份验证。我有一个带有 REST API 的 PHP 后端。用户身份验证后,我使用此库向 AWS API Gateway 发出请求。API 网关方法具有 HTTP 集成类型。他们将 HTTP 请求代理到我的 PHP 后端。如何在我的 PHP 后端获取 Cognito Identity Id?我需要在后端设置对 Cognito 用户的关系引用。

Ste*_*ani 5

API Gateway 使调用者的身份 ID 在请求上下文中可用。假设您正在使用 Cognito 身份池(联合),您正在寻找此属性:$context.identity.cognitoIdentityId

您可以配置 API Gateway 以将新标头中的身份 ID 值发送到您的后端。要实现这一目标,您必须:

  1. 打开方法配置的集成请求面板
  2. 展开 HTTP 标头部分并单击“添加标头”链接
  3. 给你标题一个名字,比如 X-Cognito-Identity-Id
  4. 在“映射自”字段中使用以下表达式: context.identity.cognitoIdentityId
  5. 使用右侧的复选标记链接保存配置更改。

重新部署 API,您的 PHP 后端应开始接收填充有来自原始请求的 Cognito 身份 ID 的附加标头。