Firebase存储403删除时出错

时间:2016-09-26 03:23:41

标签: firebase firebase-security firebase-storage

我正在使用以下规则:

service firebase.storage {
  match /b/xxxxxxx.appspot.com/o {
match /proUsers/{userId}/{allPaths=**} {
      allow read, write: if request.auth.uid == userId && request.resource.size < 2 * 1024 * 1024 && request.resource.contentType.matches('image/.*'); 
    }
  }
}

这就是我创建保存参考的方法:

storageRef.child(`proUsers/${userId}/${prizeData.title}_${prizeData.createdAtTimeStamp}`).put(file, metadata)

试图删除它我正在创建这个参考:

  const prizeImageRef = storageRef.child(`proUsers/${userId}/${prizeData.title}_${prizeData.createdAtTimeStamp}`)
  return prizeImageRef.delete()

我一直收到403错误:

  

代码:“存储/未授权”

     

Firebase存储:用户无权访问

我的删除规则不正确吗?

1 个答案:

答案 0 :(得分:1)

是的,我认为这里的主要问题是request.resource.contentType.matches('image/.*')将为null,因为您不会在DELETE上获取contentType。