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

时间:2017-07-15 09:46:48

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

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

1 个答案:

答案 0 :(得分:4)

API Gateway使request context中的来电者身份识别码可用。假设您正在使用Cognito Identity Pool(联盟),那么您正在寻找此属性:$context.identity.cognitoIdentityId

您可以将API网关配置为将新标头中的标识ID值发送到后端。为此,你必须:

  1. 打开方法配置的集成请求窗格
  2. 展开HTTP标题部分,然后点击"添加标题"链路
  3. 为标题添加名称,例如X-Cognito-Identity-Id
  4. 在"映射中"字段使用以下表达式:context.identity.cognitoIdentityId
  5. 使用右侧的复选标记链接保存配置更改。
  6. 重新部署API,您的PHP后端应该开始接收使用原始请求中的Cognito身份标识填充的附加标头。