amazon-web-services - 如何在 lambda 函数中获取 cognito id?

标签 amazon-web-services amazon-s3 amazon-cognito aws-lambda

如何获取在 Lambda 函数中启动操作的用户的认知 ID?

lambda 函数由经过 cognito 身份验证的用户在 s3 上传时触发。

如果我查看:event.Records[0].userIdentity.principalId,我得到的只是一个字符串,上面写着“CognitoIdentityCredentials”

最佳答案

正如 Vinay 所说,我们无法直接获取 cognito id。如果有人感兴趣,这是我实现的解决方法。它保证您的 cognito 用户的身份验证,但要求您将文件存储在每个用户的不同目录中:

  • 让用户上传文件到“yourBucket/cognito-id/*”

  • 设置 cognito 身份验证用户的策略,以便他们无法在其他任何地方上传:

"Resource": "arn:aws:s3:::yourBucket/${cognito-identity.amazonaws.com:sub}/"

  • 在您的 lambda 函数中,从文件键中读取 cognito id,例如:

id = event.Records[0].s3.object.key.split('/')[0]

关于amazon-web-services - 如何在 lambda 函数中获取 cognito id?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32325015/

相关文章:

amazon-web-services - 如何使用 helm-chart 设置 nginx-ingress 的 AWS ELB 名称

ruby-on-rails - rails : Carrierwave recreate versions does not change old images

javascript - 资源未找到异常 : User pool client ****** does not exist

amazon-cognito - AWS Cognito-删除登录页面中的注册

amazon-web-services - 在 AWS elastic beanstalk 上用 nginx 和 php-fpm 替换 Apache/PHP

amazon-web-services - 如何让traefik在我的云架构上工作?

amazon-web-services - 在 Cloudformation 模板中导入 s3 Bucket

postman - 如何在 postman 中集成 amazon cognito 登录?

amazon-ec2 - (EC2) 'AMI: Unavailable' 是什么意思以及我应该如何处理它?

amazon-web-services - 为什么只有 root 用户可以从 EC2 实例上传到运行 Java 程序的 S3 存储桶?