我正在开发基于 API Gateway 和 Lambda 的应用程序。我将 POST /subscribe 配置为“AWS_IAM”。所以现在它无法直接访问,但我可以通过 Cognito 身份验证访问 API。
现在的问题是我的 Lambda 不知道谁是 API 调用者。怎么知道?
我有 2 个用户:“Bob”和“John”。我的 Lambda 需要知道调用者是 Bob 或 John。
谢谢,
我正在开发基于 API Gateway 和 Lambda 的应用程序。我将 POST /subscribe 配置为“AWS_IAM”。所以现在它无法直接访问,但我可以通过 Cognito 身份验证访问 API。
现在的问题是我的 Lambda 不知道谁是 API 调用者。怎么知道?
我有 2 个用户:“Bob”和“John”。我的 Lambda 需要知道调用者是 Bob 或 John。
谢谢,
您可以从参数 ( )的identity
属性中获取 Cognito 身份 ID,如Lambda 编程模型帮助主题的上下文对象属性部分中所述。获得 Cognito 唯一标识符后,您可以使用 Cognito Sync 的 API 和您的开发人员凭据来查找 Cognito 中存储的有关此用户的信息,或者您可以使用该标识符将 ID 映射到存储在其他地方的用户信息。context
context.identity
确保为 AWS_IAM 配置了 API Gateway(如您所述),并确保在方法的“集成请求”设置下选中了“使用调用方凭据调用”。