【发布时间】:2021-07-04 06:13:13
【问题描述】:
我的后端是一个 nodejs 应用程序,我希望用户将图像上传到 Amazon S3 存储桶。
从我正在运行的服务器:
const s3 = new AWS.S3({
params: {
Bucket: bucket
}
});
app.get('/api/images/signed-url', authMiddleware, (req, res) => {
s3.getSignedUrl('putObject',
{ ContentType: 'image/jpeg', Key: uuid() + '.jpeg' },
(_err, url) => res.send({ signedUrl })
})
然后从我的浏览器客户端上传到那个端点
网址如下:
https://my-s3-bucket.s3.ap-southeast-2.amazonaws.com/0050db00-c64c-419a-83c2-e8615120f458.jpeg?AWSAccessKeyId=MY_ACCESS_KEY&Content-Type=image%2Fjpeg&Expires=1625365030&Signature=1ebnshTgeMKoLMAH%2Bi2FLletsAU%3D
鉴于此 URL 包含我的MY_ACCESS_KEY_ID,与客户共享是否安全?我不分享我的秘密(显然),但它是等式的一半。
【问题讨论】:
-
发布了解决方案有帮助吗?
标签: amazon-web-services amazon-s3 pre-signed-url