关于firebase存储规则匹配

时间:2017-02-28 16:16:39

标签: firebase firebase-security firebase-storage

我想授予用户类似的东西。

match /images/{userId}/{allPaths=**}

但我的firebaseStorage路径就是这样。

match /images/user/userId_user.jpg

所以我不知道如何匹配这条路径。

并且..如果你知道使用uid,请不要使用匹配{userId}< - 就像那样。

善意的考虑。

1 个答案:

答案 0 :(得分:4)

我建议您以不同的格式存储文件,以便更轻松:

match /users/{userId}/images/{imageId} {
  allow write: if userId == request.auth.uid;
}

可以匹配/users/userId/images/user.jpeg

但如果你已经采用这种格式,那么我们很幸运,我们提供字符串和正则表达式匹配:

match /images/user/{userImageName} {
  // If you know it'll be just a straight string match, go for it
  allow read if: userImageName == request.auth.uid + '_user.jpeg';
  // Otherwise match using a regular expression
  allow write if: userImageName.matches(request.auth.uid + '_user.jpeg');
}