尽管规则设置为私有,但我的 firebase 存储不是私有的

My firebase storage is not private despite the rules being set for private

背景:我正在构建一个 React Native iOS 应用程序,它将涉及上传图像并能够从应用程序内访问它们(但不是公开的)。

在我的 Firebase 存储规则中,我有以下内容:

service firebase.storage {
  match /b/{bucket}/o {
    match /{allPaths=**} {
      allow read, write: if request.auth != null;
    }
  }
}

据我了解,只有经过授权的 Firebase 用户才能访问这些文件。但是,我上传了一张我可以在任何浏览器中访问的图片:

https://firebasestorage.googleapis.com/v0/b/boiling-heat-632.appspot.com/o/download.jpeg?alt=media&token=7a8708c5-3dda-4088-b456-6dffd6ffc006

我的安全规则有问题吗?谢谢

您提供的 link 是 public URL 为所有 Firebase 存储对象生成的 will/can。它被称为下载 URL。它被认为是不可猜测的,所以你不必担心它在那里。您可能会发现,如果您尝试通过 Firebase 存储框架(使用对象路径)访问您的存储对象,您将不会被允许这样做。

希望这能回答您的问题

更新: 有关详细信息,请参阅此 question