Firebase 创建账户时写数据的问题

问题描述 投票:0回答:2

基本上,我希望用户创建帐户并将名称、用户等数据写入 firestore 数据库。但我不知道那个规则。

W/Firestore(9927):(24.5.0)[Firestore]:在用户/FPhBBFybqXfCuXtFYTVO 写入失败:状态{代码=PERMISSION_DENIED,描述=缺少或权限不足。,原因=null} i/flutter ( 9927): [cloud_firestore/permission-denied] 调用者没有执行指定操作的权限

其实我的规则是:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow create: if request.auth != null;
      allow read, write, update, delete: if request.auth != null;
    }
  }
}
flutter google-cloud-firestore firebase-security
2个回答
0
投票

删除这一行:

allow create: if request.auth != null;

为此,如果用户未经授权(例如登录或创建帐户),将无法创建文档。

欲了解更多规则,请访问

FireStore 安全规则


0
投票

试试这条规则:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.