Firebase存储安全规则:指定“允许读取:if request.auth!= null”后,我仍然可以使用提供的下载链接访问我的文件

时间:2018-03-28 16:58:02

标签: firebase firebase-storage

我的firebase存储规则是

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

我退出谷歌和Chrome浏览器(隐身模式),然后输入我从firebase.storage(下载网址链接)获取的网址。我仍然可以下载该文件。如果用户已通过firebase.authentication进行身份验证,如何保护文件仅允许下载?

我的文件位于root firebase.storage位置。

我也试过

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

firebase.storage中有一个撤销下载网址,但它似乎根本没有做任何事情。

1 个答案:

答案 0 :(得分:1)

下载网址是公共访问权限,用于将文件共享到Firebase之外的应用程序。 Firebase安全规则不通过下载URL控制对存储对象的访问。您可以使用Firebase控制台撤消下载网址。

另请参阅此answer from a Firebase team member相关问题。他指出:

  

使用下载URL是共享文件的合适方式   一个应用程序,或者不需要登录的用户。