从 google 云存储桶访问私人文件
Access private files from a google cloud storage bucket
我有一个 REST api,它列出了存储桶中的所有文件。我在 ios 设备上的网络视图中显示此列表。
无法制作此文件public。
那么对于我的问题,我如何访问我的 ios 应用程序中的文件?
我的想法是,我在我的 api 中创建一个读取流,打开一个读取流到 gcloud 存储桶中的文件。
有更好的方法吗?
公开私有文件的规范方法是使用已签名的 URLs。基本上,您的 iOS 应用会请求从您的应用访问文件。如果您的应用决定授予此访问权限,它会生成一个 URL,使用私钥对其进行签名,然后将已签名的 URL 提供给 iOS 应用。然后,该应用程序像任何其他 URL 一样获取提供的 URL,其主体将是对象的内容。
签名的 URL 具有一些不错的安全优势。它们只能用于一件事,并且只能在几分钟内有效(您可以准确配置它们的有效时间)。
签名逻辑有点棘手,但 gcloud 库具有为您签名 URLs 的功能。
文档在这里:https://cloud.google.com/storage/docs/access-control/signed-urls
我有一个 REST api,它列出了存储桶中的所有文件。我在 ios 设备上的网络视图中显示此列表。
无法制作此文件public。
那么对于我的问题,我如何访问我的 ios 应用程序中的文件?
我的想法是,我在我的 api 中创建一个读取流,打开一个读取流到 gcloud 存储桶中的文件。
有更好的方法吗?
公开私有文件的规范方法是使用已签名的 URLs。基本上,您的 iOS 应用会请求从您的应用访问文件。如果您的应用决定授予此访问权限,它会生成一个 URL,使用私钥对其进行签名,然后将已签名的 URL 提供给 iOS 应用。然后,该应用程序像任何其他 URL 一样获取提供的 URL,其主体将是对象的内容。
签名的 URL 具有一些不错的安全优势。它们只能用于一件事,并且只能在几分钟内有效(您可以准确配置它们的有效时间)。
签名逻辑有点棘手,但 gcloud 库具有为您签名 URLs 的功能。
文档在这里:https://cloud.google.com/storage/docs/access-control/signed-urls