这可能已经在 SO 上进行了多次研究,但我仍然无法理解这里的流程。有人可以帮忙说明一下我可能会错过什么!
我正在构建一个移动消息应用程序,后端聊天服务器使用 Erlang,照片存储在 AWS S3 中。我想确保当用户向群组发送照片时,只能由该群组的成员下载,其他人不得下载。
据我了解,我需要将(上传照片的)预签名 URL 分发给聊天收件人(即群组成员),以便他们可以直接下载相同的 URL。
我的问题是:如何生成这些预签名 URL?AWS Cognito 在这里扮演什么角色?我应该构建一个可以被移动应用程序查询的新 Web 服务吗?因此,此 Web 服务将调用 Cognito 的 getIdentityId() 并使用响应(以及移动客户端传递的存储桶名称/密钥)生成预签名 URL,然后将其传递回移动客户端,然后移动客户端可以将此 URL 分发给群聊收件人?
还是应该将 Cognito 凭据提供程序和用户池 ID 包含在移动源代码中,并且 iOS / Android 应用程序本身应该生成所述 URL?
为相当长的咆哮道歉!