Amazon S3:无需密钥即可访问

问题描述 投票:0回答:1

我正在开发一个 iOS 应用程序,它将图片保存在 Amazon S3 服务器中。不幸的是,服务器的所有者不愿意给我他的密钥。相反,他生成并向我提供了一个签名,他说我可以用它来上传文件。

问题是我找不到执行此操作的方法。特别是使用 Amazon S3 示例“S3Uploader”。

你对此有什么想法吗?

ios amazon-s3 photo bucket
1个回答
1
投票

密钥仅用于计算签名,因此如果您已经有签名,则不需要它。但是,您确实需要访问密钥 ID(以便亚马逊知道使用哪个密钥来验证签名)。

我快速浏览了 iOS sdk 文档,看起来他们并没有提供一种缩短签名计算过程的方法。上传文件很简单,您只需发出 PUT 请求即可:

PUT /ObjectName HTTP/1.1
Host: BucketName.s3.amazonaws.com
Date: date
Authorization: signatureValue
Content-Length: 1234

文档中有您可以使用的额外标头的详细信息。

另一个工作流程是,远程服务可以使用 amazon STS API 返回仅授权将文件上传到指定存储桶的临时凭证,而不是向您提供签名值。如果你走这条路,那么你就可以使用亚马逊提供的 SDK。

© www.soinside.com 2019 - 2024. All rights reserved.