Node.js NodeJS-仅向授权用户保护图像url

Node.js NodeJS-仅向授权用户保护图像url,node.js,reactjs,mongodb,image,Node.js,Reactjs,Mongodb,Image,因此,我目前正在构建一个应用程序。用户可以上传图片。他们上传的图像应该只能被他们看到。因此,我想知道我如何才能实现这一点,考虑到图像是通过一个网址 实际上,我的想法是,为了获得图片,用户应该执行RESTAPI请求,如果用户拥有正确的权限,API将返回图像数据 我的应用程序的前端在React中,后端(restapi)在nodeJS中 编辑:实际上图像存储在AWS S3上(如果需要可以更改) 谢谢 只允许授权用户获取图像的最佳选项是S3预签名URL,您可以参考它,它详细描述了如何实现S3预签名URL

因此,我目前正在构建一个应用程序。用户可以上传图片。他们上传的图像应该只能被他们看到。因此,我想知道我如何才能实现这一点,考虑到图像是通过一个网址

实际上,我的想法是,为了获得图片,用户应该执行RESTAPI请求,如果用户拥有正确的权限,API将返回图像数据

我的应用程序的前端在React中,后端(restapi)在nodeJS中

编辑:实际上图像存储在AWS S3上(如果需要可以更改)


谢谢

只允许授权用户获取图像的最佳选项是S3预签名URL,您可以参考它,它详细描述了如何实现S3预签名URL。如果您使用另一种语言编写代码,只需在谷歌上搜索“AWS S3预签名URL”,您就会找到它。

因为您还将图像的URL保存在数据库中的某个位置,您可以使用用户id向此文档中添加一个字段,以便仅基于user.id查询要显示的url,也可以使用其图像url数组(即图像:[url])向用户模型中添加一个字段,不仅仅是查询user.images。@vitomadio是的,但每个人都可以猜出url并找到图像:/I我只希望用户能够访问他的图像。这取决于情况,因为您可以使用一些加密来重写图像名称,这将使猜url变得非常困难:)@vitomadio当然可以;)