2016-12-29 140 views
1

我有一个REST API列出了桶中的所有文件。我在iOS设备上的webview中显示此列表。访问谷歌云存储桶中的私人文件

这是不可能公开这个文件。

所以对我的问题,我如何访问我的iOS应用程序中的文件?

我的想法是,我在我的api中创建了一个读取流,它向gcloud存储桶中的文件打开读取流。

有没有更好的方法来做到这一点?

回答

3

暴露私人文件的规范方法是使用签名的URL。基本上,你的iOS应用程序会请求访问你的应用程序中的文件。如果您的应用决定授予此访问权限,那么它会生成一个URL,使用私钥对其进行签名,然后将该签名的URL提供给iOS应用。然后,该应用获取与其他任何网址一样的网址,其中的主体将成为对象的内容。

签名的URL有一些很好的安全优势。它们只能用于一件事,而且它们只能在几分钟内有效(您可以配置它们的有效时间)。

签名逻辑有点棘手,但gcloud库有功能为您签名的URL。

文档在这里:https://cloud.google.com/storage/docs/access-control/signed-urls