5

Firebase 存储使用 Google Cloud Platform 进行存储。GCP 允许文件上的“公开共享”选项能够在浏览器中查看此类文件。

这是有关此主题的 GCP 文档

在这里,您可以通过 GCP 控制台上的 GUI 查看可用的选项。

在此处输入图像描述

通过 Firebase 上传文件时是否可以启用公共选项?

编辑:我已经启用了对整个存储桶的公开阅读,尽管它并不理想。

gsutil defacl ch -u allUsers:R gs://<bucket>
4

1 回答 1

6

使用 Firebase 存储,您将获得两个可用于表示文件的 URL:

// "Private" internal URL, only accessible through Firebase Storage API
// This is protected by Firebase Storage Security Rules & Firebase Auth
gs://bucket/object

// "Public" unguessable URL, accessible by anyone with the link
// This is secured because that token is *very* hard for someone to guess
https://firebasestorage.googleapis.com/v0/bucket/object?alt=media&token=<token>

第二个选项允许您与受信任的个人共享这个公开但无法猜测的 URL,并允许他们在未经 Firebase 身份验证或使用您的应用程序的情况下访问内容——想想与 Google 照片共享家庭照片。除非您希望使用干净的 URL 进行公开共享,否则这种行为可能已经足够了。

正如您所提到的,第三个选项涉及直接访问 Google Cloud Storage 控制台并使用干净的 URL 公开文件,而 Firebase Storage 客户端无法使用该 URL。这将添加第三个 URL:

// "Public" clean URL, accessible and guessable
// Not secure, typically used for public, static content
https://storage.googleapis.com/v0/bucket/object

一般来说,除非您希望人们知道和猜测您的内容(托管静态内容、网站文件等),否则我不会通过 GCS 公开共享,而且几乎肯定不会将默认 ACL 设置为始终公开(如果您添加新功能并且不再需要此行为会发生什么,您可能会忘记再次将其关闭...)。

于 2016-06-09T02:03:04.440 回答