【问题标题】:Firebase storage REST url access control of the https:// URLshttps:// URL 的 Firebase 存储 REST url 访问控制
【发布时间】:2017-02-17 06:56:29
【问题描述】:

我已经研究了几个小时并且担心我已经知道答案,但我希望那里的天才可能知道我尚未发现的一些东西。 (手指交叉)

设置
我正在使用 Ionic 1 和 Firebase 构建一个聊天应用程序。这意味着我可以通过 REST API 与 Firebase 交互。这是一种私人聊天体验,因此所有正在交流的数据都应保持安全。
我允许用户上传图片,我决定利用 Firebase 的新存储功能。图形文件更适合那里。
我可以成功上传图片并使用存储 API 检索它们...耶(感谢 Firebase)

问题
鉴于我在 REST 世界中工作,我通过 URL 访问图像(通过在文件 ref 上使用 getDownloadURL)。生成的 URL 是公开的(但不可猜测)。这个 URL 的公共性质是我目前的失败 :(
我知道 URL 的设计是不可猜测的,如果一切都失败了,我可以进入控制台撤销 URL,我希望有一些方法可以使用比混淆更多的东西来保护用户内容。

询问或希望

  • 有没有办法创建时间敏感的 URL(可能使用安全规则)
  • 有没有办法创建条件 URL,使其在一次“下载”后过期
  • 有没有办法将内容下载为类似于 db 快照的 base64
  • 有什么我没想到的东西可以解决这个问题

目前的想法

  • 咬紧牙关,相信 URL 是安全的
  • 将图像作为 base64 字符串存储在数据库本身中(我真的想避免这种情况,因为它通常不受欢迎)

提前感谢您的建议和指导

【问题讨论】:

    标签: rest ionic-framework firebase hybrid-mobile-app firebase-storage


    【解决方案1】:

    此处为 Firebase 存储 JS 开发人员。

    由于您提到在文件引用上使用“getDownloadURL”,我假设您使用的是 Firebase Storage JS 库。

    • 有没有办法创建时间敏感的 URL(可能使用安全规则)
    • 有没有办法创建条件 URL,使其在一次“下载”后过期

    很遗憾,我们目前不提供上述任何一种功能。

    有没有办法将内容下载为类似于 db 快照的 base64

    目前,您只能通过无法猜测的下载 URL 下载内容。

    有什么我没想到的东西可以解决这个问题

    您似乎对我们的图书馆目前提供的内容有很好的了解。我认为你现在最好的选择是使用不可猜测的下载 URL。唯一能够获取文件下载 URL 的用户是能够首先下载实际文件的用户。

    说了这么多:我同意你的观点,如果你在文件下载授权的处理方式上有更大的灵活性,那就太好了(只允许通过 SDK 访问经过身份验证的用户,对不可猜测的 URL 进行更多/编程控制、一次性下载 URL 等)。在寻找改进产品的方法时,我们一定会考虑这一点,感谢您的反馈。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-04-15
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      • 2018-05-23
      • 2017-10-30
      • 2019-05-08
      • 1970-01-01
      相关资源
      最近更新 更多