2016-09-17 75 views
0

我试图用火力后端构建网络应用程序,我有一个存储规则如下所示:火力地堡存储规则,`request.resource.md5hash`为空

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 rulesmd5hash字段被使用,所以它有望工作。

回答

3

两件事情:

  1. 的属性实际上是md5Hash(我们的参考文档都错了,我只是固定他们)
  2. md5Hash目前没有穿过规则(是的,这是一个错误,而我们现在修复它,但它需要一些时间来推出到生产)

我们正在经过MD5通过工作,所以抓住:)

+0

我试过'md5Hash'之前问太没有工作的问题,因为文档使用两个,我认为领域是不区分大小写。 感谢您的协助! –

+0

不,他们区分大小写。对不起,问题:( –

+0

可以在数据库规则中使用md5Hash吗? – okwme