Firebase 存储规则,`request.resource.md5hash` 为空
Firebase storage rules, `request.resource.md5hash` is null
我正在尝试使用 FireBase 后端构建网络应用程序,我有如下存储规则:
service firebase.storage {
match /b/stuff.appspot.com/o {
match /images/{fname}
{
allow read: if true;
allow write: if request.resource.md5hash != null;
}
}
}
但是,当我尝试将数据放入 images/filename
时,出现 storage/unauthorized
错误。如果我删除条件并设置为 true
,它将按预期工作,因此我认为 request.resource.md5hash
为空。
我错过了什么?因为我希望任何文件都具有非空 md5 哈希。
补充说明:
- 如果我去掉md5条件,不加任何校验就上传文件,我可以在上传文件的客户端得到
md5Hash
。因此,实际上在某个时候正在计算哈希值。
- 在 the reference about storage rules 中使用了
md5hash
字段,因此它应该可以工作。
两件事:
- 属性实际上是
md5Hash
(我们的参考文档是错误的,我刚刚修正了它们)
md5Hash
目前没有传递给规则(是的,这是一个错误,我们现在正在修复它,尽管它需要一些时间才能投入生产)
我们正在努力通过 MD5,所以请抓紧:)
我正在尝试使用 FireBase 后端构建网络应用程序,我有如下存储规则:
service firebase.storage {
match /b/stuff.appspot.com/o {
match /images/{fname}
{
allow read: if true;
allow write: if request.resource.md5hash != null;
}
}
}
但是,当我尝试将数据放入 images/filename
时,出现 storage/unauthorized
错误。如果我删除条件并设置为 true
,它将按预期工作,因此我认为 request.resource.md5hash
为空。
我错过了什么?因为我希望任何文件都具有非空 md5 哈希。
补充说明:
- 如果我去掉md5条件,不加任何校验就上传文件,我可以在上传文件的客户端得到
md5Hash
。因此,实际上在某个时候正在计算哈希值。 - 在 the reference about storage rules 中使用了
md5hash
字段,因此它应该可以工作。
两件事:
- 属性实际上是
md5Hash
(我们的参考文档是错误的,我刚刚修正了它们) md5Hash
目前没有传递给规则(是的,这是一个错误,我们现在正在修复它,尽管它需要一些时间才能投入生产)
我们正在努力通过 MD5,所以请抓紧:)