gpt4 book ai didi

amazon-web-services - 如何根据 Cognito 用户池(或 DynamoDB)中的用户属性实现授权?

转载 作者:行者123 更新时间:2023-12-02 03:44:41 24 4
gpt4 key购买 nike

我对 AWS 比较陌生,但阅读了大量文档,但找不到我需要的内容。

我正在尝试实现身份验证,用户支付订阅费用,并根据他们是否付费来访问 S3 存储桶和项目。

我尝试将 API Gateway 与 Cognito 授权者一起使用,但我不知道如何在用户已付款时添加支票(例如通过在 DynamoDB 中查找)。有没有办法向 Cognito 授权者添加自定义授权逻辑?如果没有,是否仍可以将 Cognito 用户池与自定义授权者一起使用?最重要的是,你将如何实现整个事情?

我愿意接受建议。

最佳答案

我找到了我要找的东西。

我添加了一个自定义用户属性已订阅。然后,创建了一个 lambda 函数,我将其用作自定义授权者,使用 blueprint for custom authorizer for Amazon Cognito User Pools 。我修改了代码,以便还提取自定义属性 subscribed (其前缀为 custom:,因此它变为 custom:subscribed)并且检查它是否设置为 true。我将蓝图上传到 lambda 函数,并将其设置为我需要的端点和方法的授权者。

为了更新我使用的标志 CognitoIdentityServiceProvider. adminUpdateUserAttributes在用户成功付款后,我在 lambda 中的自定义位置调用它(或使用 cron jobs 删除订阅以检查其是否有效)。

文章:

https://aws.amazon.com/blogs/mobile/integrating-amazon-cognito-user-pools-with-api-gateway/ https://aws.amazon.com/blogs/compute/author/

关于amazon-web-services - 如何根据 Cognito 用户池(或 DynamoDB)中的用户属性实现授权?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47183241/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com