【问题标题】:Firebase Storage image URL accessible only to users with read permissions只有具有读取权限的用户才能访问 Firebase 存储图像 URL
【发布时间】:2019-10-07 02:14:03
【问题描述】:

在将 Firebase Storage 与 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 或其他内容。

【问题讨论】:

    标签: firebase firebase-storage


    【解决方案1】:

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

    【讨论】:

    • 感谢您的回复,如果您可以看一下,我用代码示例更新了我的问题!
    • 正如我所说,您无法更改下载 URL 的行为。
    • 我明白了,除了获取下载地址外,没有其他方法可以查看该网址吗?
    • 对于网络,我不知道。在 Android 上,您可以与 Glide 集成以显示图像,而无需通过下载 URL。
    猜你喜欢
    • 2011-06-07
    • 2019-12-24
    • 2021-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 2013-10-30
    • 2018-08-30
    相关资源
    最近更新 更多