【问题标题】:Cognito IdentityId in Lambda Function through API Gateway通过 API 网关在 Lambda 函数中使用 Cognito IdentityId
【发布时间】:2017-01-22 22:32:12
【问题描述】:

我想在 lambda 函数中获取 cognito 身份 ID。(python2.7)

我从 cognito 认证的 ios 应用程序调用 api。 我试过这段代码。但它不起作用。

id = context.identity.cognito_identity_id # return null

你有什么想法吗? 谢谢。

【问题讨论】:

    标签: python-2.7 aws-lambda aws-api-gateway amazon-cognito


    【解决方案1】:

    Cognito 身份 ID 在不同于 Lambda 上下文的 API 网关上下文中可用。您必须通过映射模板将 API Gateway 上下文发送到您的 Lambda 函数。

    即 { “cognitoIdentityId”:“$context.identity.cognitoIdentityId” }

    然后在 Lambda 中你可以使用 event.cognitoIdentityId

    http://docs.aws.amazon.com/apigateway/latest/developerguide/api-gateway-mapping-template-reference.html

    【讨论】:

      【解决方案2】:

      请注意,如果您不使用调用方凭据进行调用,这将不起作用 - 因此,如果您想与您的用户池集成,则如果不手动重写 90% 的 Amazon 加密库,这是不可能做到的。

      整个图书馆一团糟——如果你碰巧是图书馆的新手并考虑使用它,我强烈建议你远离——这对我们来说绝对是一场噩梦!

      目前,我们最后的手段是手动设置用户的自定义属性,并使用管理 SDK 在每个请求上获取它,这很烦人,但确实可以正常工作。

      据我所知,他们正在重新设计整个库以将它们整合在一起,这将是很高兴看到的,因此请确保您以一种在他们升级时可以更新的方式来实现。

      【讨论】:

        猜你喜欢
        • 2020-10-03
        • 2017-07-12
        • 2017-07-26
        • 2020-12-12
        • 2021-05-14
        • 2019-11-18
        • 2018-09-11
        • 2018-09-13
        • 1970-01-01
        相关资源
        最近更新 更多