提问者:小点点

Firebase存储映像仅URL具有读取权限的用户访问


将Firebase存储与Javascript一起使用时SDK是否有办法只让通过读取权限的用户查看图像。我遇到的问题是,一旦我获得存储引用,在浏览器中查看图像的唯一方法是通过下载url,它没有附加权限。我想要的是一个只有通过读取权限的用户才能访问的URL。目前有办法做到这一点吗?

编辑1:

目前,我得到的网址是这样的:

        const firebaseUrl = 'gs://bucket/object';
        const storageRef = firebase.storage().ref();
        storageRef.child(firebaseUrl).getDownloadURL()
          .then(url => console.log(url))
          .catch(err => console.log(err));

并将下载网址放在img src中。

<img src="url generated from above code" />

只有当具有权限的经过身份验证的Firebase用户正在查看图像时,我如何才能显示图像?如果在隐身窗口中查看url,它将返回403或其他内容。


共1个答案

匿名用户

不可以,在令牌被吊销之前,下载URL始终是可普遍访问的。此行为无法更改。如果需要对文件应用安全规则,则必须使用SDK下载内容,因为SDK知道通过Firebase身份验证登录的用户。