【问题标题】:Fetch cognito user details using event in Python使用 Python 中的事件获取 cognito 用户详细信息
【发布时间】:2020-05-27 06:08:28
【问题描述】:

我想在 python 中获取当前登录 Cognito 用户的详细信息,

我知道我需要调用 get_id() API,但这里我需要 3 个参数,即 accountid、身份池 id、登录映射和登录映射,我需要在我的 Javascript 代码中生成的 JWT 令牌用于验证必须在此处导入的用户。

如果有可能通过事件,我不知道使用它,但我需要在 Python 中,这背后的原因是我自动使用他们的 UsedID 即 sub 标记 Cognito 用户创建的资源

或者我必须在 Python 中创建登录应用程序?

更新:我得到了类似于 Lambda 代理与 API 网关集成的东西,我可以获取事件详细信息,我不知道使用 API 网关,我的应用程序只是托管在 S3 存储桶上

【问题讨论】:

    标签: javascript python amazon-web-services aws-lambda amazon-cognito


    【解决方案1】:

    这里一种可能的解决方案是简单地使用 AWS Lambda 触发器。在这种情况下,Post Authentication Lambda Trigger [1] 应该满足您的用例。您可以在 Lambda 事件负载中获取 Cognito 用户数据,并使用您想要的任何日志引擎对其进行记录。在这种情况下,您不会在 Lambda 有效负载中拥有令牌,因此您需要进行离散 API 调用来获取 JWT 令牌。

    AWS Lambda 也支持 Python,我已经用 Python 在 Lambda 中编写了几行重要的代码。因此,您可以毫无障碍地用 Python 编写您的 API。

    如果您不同意进行离散的 Cognito API 调用,并且只想修改身份令牌中的一些信息,您可以查看pre-token generation Lambda trigger [2]。

    您在此处提到了将 API Gateway 与 Lambda 代理集成使用,但使用它似乎不是正确的用例。

    参考文献

    [1]。 https://docs.aws.amazon.com/cognito/latest/developerguide/user-pool-lambda-post-authentication.html

    [2]。 https://docs.amazonaws.cn/en_us/cognito/latest/developerguide/user-pool-lambda-pre-token-generation.html

    【讨论】:

    • 我不能创建任何活动吗?我创建了 Post Authentication Lambda 并在 CloudWatch 日志中获得了 ID,我如何再次在 Lambda 中获取/使用?
    • 可以直接在代码中使用ID,应该是Lambda已经可以访问的部分JSON。
    猜你喜欢
    • 2013-01-19
    • 1970-01-01
    • 2014-03-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多