仅公开图像到Firebase托管

时间:2019-04-03 04:19:56

标签: firebase

我是Google Cloud和Firebase的新手。网站/应用程序正在Vue中运行客户端。我正在使用Firebase进行身份验证/托管/存储/功能。问题是我希望存储的图像不能公开访问,但要像公开一样引用它们。 Aka将资产放在img src中,并在网站上的某些地方使用它。

通过功能检查每个图像是否经过身份验证非常昂贵且缓慢。我希望/img/foobar.jpg实际上是https://storage。* / img / foobar.jpg无法通过函数运行,但不能公开访问。

如果我上传图片并且所有者是我(这是一个Google帐户),则可以显示没有功能的图片。这不适用于所有人,因为该网站的用户没有Google帐户。

我当时想我可以制定一个存储桶策略,规定仅直接链接到图像将不起作用,但是Firebase托管站点可以公开查看图像。由于Firebase托管网站处于登录状态,因此资产将受到保护。这可能吗?我看不到任何文档来支持此操作。

1 个答案:

答案 0 :(得分:0)

您声明您正在使用Firebase身份验证。在Firebase存储规则中,您可以定义仅当用户通过身份验证后才能读取文件。这样的东西就足够了:

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

有关更多信息,请参见https://firebase.google.com/docs/storage/security/start