[英]Is there a way to deploy images to Firebase hosting, but only where changes exist?
[英]Public images only to Firebase Hosting
我是 Google Cloud 和 Firebase 的新手。 网站/应用程序在 Vue 中运行客户端。 我正在使用 Firebase 进行身份验证/托管/存储/功能。 问题是我想在存储中存储不可公开访问的图像,但将它们视为公共图像。 Aka 将资产放在 img src 中,并在网站上的地方使用它。
通过函数检查每个图像是否经过身份验证既昂贵又缓慢。 我想让 /img/foobar.jpg 真正是https://storage .*/img/foobar.jpg 不通过函数运行但不能公开访问。
如果我上传图像并且所有者是我(这是一个 Google 帐户),我可以在没有功能的情况下显示图像。 这不会对每个人都有效,因为该网站的用户没有 Google 帐户。
我想我可以制定一个存储桶策略,说明只有指向图像的直接链接不起作用,但 Firebase 托管站点可以公开查看图像。 由于 Firebase 托管站点在登录之后,因此资产将受到保护。 这可能吗? 我没有看到任何文件来支持这一点。
您声明您正在使用firebase身份验证。 在firebase存储规则中,您可以定义只有在用户通过身份验证时才能读取文件。 这样的东西就足够了:
match /{allPaths=**} {
allow read: if request.auth != null;
}
有关详细信息,请参阅https://firebase.google.com/docs/storage/security/start
存储 -> 规则
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /{allPaths=**} {
allow read;
allow write: if true;
}
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.