【问题标题】:Missing Cognito user information when invoking a Lambda from API Gateway从 API Gateway 调用 Lambda 时缺少 Cognito 用户信息
【发布时间】:2018-06-22 22:06:19
【问题描述】:

我有一个带有 Cognito 支持的授权方的 API 网关。我有一个需要用户唯一标识符的 Lambda(用 Java 实现)支持的端点。

当我通过 API Gateway UI 测试函数时,Lambda 会在 APIGatewayProxyRequestEvent.getRequestContext().getIdentity() 中接收用户信息。当我从外部(从 Javascript 客户端)调用该函数时,此信息丢失。

有谁知道有什么区别以及如何将用户信息传递给 Lambda?

我尝试使用跨用户信息复制的正文映射模板,而不是使用 Lambda 代理集成。我还尝试从接受 ID 令牌交换为访问令牌。这些都如上文所述。

【问题讨论】:

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


    【解决方案1】:

    this AWS forum threadthis serverless forum post 中找到答案。

    用户的标识符包含在requestContext.authorizer.claims.sub 中,它不包含在Java 对象模型ProxyRequestContext 中。

    我仍然不清楚为什么 identity 对象总是(大部分)是空的

    【讨论】:

      猜你喜欢
      • 2020-10-23
      • 2017-02-04
      • 2018-08-13
      • 2019-06-23
      • 2019-05-11
      • 2021-04-09
      • 2022-11-15
      • 2017-05-29
      • 2016-01-01
      相关资源
      最近更新 更多