如何使我的用户访问我的应用程序中自己的存储桶

时间:2020-06-28 16:24:38

标签: node.js reactjs amazon-web-services amazon-s3 amazon-ec2

我正在考虑让我的用户访问他们自己的s3存储桶,以便他们可以在我的Web应用程序中加载并显示其图像。

用户来到我的网站->单击UI->登录并进行身份验证->选择图像->显示它。

这种情况可能吗?怎么样? 我在前端使用React,在后端使用node.js。

我是否使用任何文件传输协议?或如何从s3存储桶中获取图片?

2 个答案:

答案 0 :(得分:1)

如果您在前端使用JavaScript,在后端使用节点js,则需要将AWS JS SDKAWS.S3类一起使用以执行所有交互。

您应该查看使用用户名前缀存储资产,以便更轻松地列出对象(而不是您将存储在image.jpg的{​​{1}})。

要上传,您将使用PutObject函数,并使用ListObjectsV2函数列出传入的前缀。

您可以通过使用Cognito User Pool管理身份验证来进一步增强此功能。您可以通过使用IAM策略中的${cognito-identity.amazonaws.com:sub}变量来限制仅对S3中用户特定前缀的访问来增强安全性。

答案 1 :(得分:0)

您可以使用AWS Cognito进行身份验证部分。

存档所需内容的最简单方法是使用AWS Amplify。 See here 遵循this guide以获得有关node.js的分步说明

相关问题