我有一个Web应用程序,它使用 firebase 进行身份验证和数据库,并使用 Angular4 进行前端。我正在通过我的Web应用程序将图像上传到 AWS S3 ,并且工作正常。

问题:

我目前在我的angular4代码中使用自己的 accessKeyId secretAccessKey 将文件直接上传到AWS S3(使用适用于JavaScript的AWS开发工具包)。编译angular时,客户端浏览器仍会在前端使用javascript。我不喜欢这样,这对我构成了安全隐患。

如何在不暴露密钥的情况下直接将图像从Angular4上传到S3?

最佳答案

创建一个可以生成AWS S3 pre-signed URLs的小型后端服务/ API。然后,您的Angular应用程序可以使用该预签名URL将图像上传到S3。后端服务将是唯一需要您的AWS访问权限的东西。

AWS Lambda + API网关非常适合此类后端服务。

关于angular - 上载到S3,而不会暴露您的accessKeyId,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46343760/

10-09 23:54
查看更多