firebase存储规则不适用于';行不通
我正在使用默认存储规则:firebase存储规则不适用于';行不通,firebase,google-api,firebase-storage,Firebase,Google Api,Firebase Storage,我正在使用默认存储规则: match /{allPaths=**} { allow read, write: if request.auth != null; } 或 但没有登录,下载url仍然可以访问。如何预防 当您将数据上传到Firebase存储时,系统将为您提供两个“链接”以获取该数据: 专用链接。只能访问此链接 由经过身份验证的用户/设备进行内部验证 公共链接。此链接在技术上任何人都可以阅读 然而,有了这个链接,这个链接应该是高度敏感的 不可猜测。最后的标记将非常难以猜测。 如果删
match /{allPaths=**} {
allow read, write: if request.auth != null;
}
或
但没有登录,下载url仍然可以访问。如何预防 当您将数据上传到Firebase存储时,系统将为您提供两个“链接”以获取该数据:
希望这有帮助。由于firebase控制台的令牌,每个人都可以访问此链接:
如果令牌已从链接中删除,则将应用firebase存储规则。
谢谢你,瑞安。getDownloadURL()函数将为我提供公共URL,非常易于使用,但它是公共URL,每个人都可以从标记中获取它并绕过登录保护。现在,我的问题是如何为我的web应用程序使用私有URL?有什么例子吗?我重新阅读后编辑了这条评论,因为我没有看到关于web应用的最后一部分。这些图像是否仅显示给已通过您的webapp验证的用户(与Firebase Auth分开)?另外,如果您不介意我问的话,您的web应用程序使用什么类型的堆栈/框架?我正在使用Firebase Auth和Angular 2进行web应用程序,我只希望在经过身份验证的用户之间共享图像。移动客户端正在使用Ionic 2,这应该可以,因为从应用程序获取图像URL并不容易。:)还想知道是否有任何API可以撤销下载URL,而不是手动撤销?抱歉,弗兰克,我这周被耽搁了。看看这个简短的论坛帖子,看看你想做什么。这应该会对这个问题有一点启发。看起来Firebase还没有一个很好的方法来做这件事,至少对web来说不是。嗨,Ryan,谢谢你的回复。我在谷歌论坛上发布了我的建议(使用当前用户会话,而不是生成下载URL的永久令牌)。希望这种功能很快可以使用。
match /{allPaths=**} {
allow read: if request.auth != null;
allow write: if request.auth != null;
}