繁体   English   中英

如何修复 firebase 存储规则失败的客户端请求

[英]How to fix firebase storage rules failing client side request

我有 firebase 存储规则如下:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /users/{uid}/{fileName} {
        allow read;
      allow create, update: if request.auth.uid == uid && request.resource.size <= 100 * 1024;
      allow delete: if request.auth.uid == uid;
    }
  }
}

从我的客户端,我有 flutter 页面,该页面将图片添加到具有有效大小的“users/${uid}/profile_pic.png”。 仍然不允许写入请求,出现以下错误:

E/flutter (31434): [ERROR:flutter/lib/ui/ui_dart_state.cc(198)] Unhandled Exception: [firebase_storage/unauthorized] User is not authorized to perform the desired action.

此代码上传图片

await storage.ref("users/${auth.currentUser!.uid}/profile_pic.png").putData(picBytes!);

任何帮助,将不胜感激

使用以下代码:

rules_version = '2';
service firebase.storage {
  match /b/{bucket}/o {
    match /users/{uid}/{fileName} {
        allow read;
      allow create, update: if request.auth != null && request.auth.uid == uid && request.resource.size <= 100 * 1024;
      allow delete: if request.auth != null && request.auth.uid == uid;
    }
  }
}

根据https://firebase.google.com/docs/rules/rules-and-auth

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM