【问题标题】:How to allow only authenticated users to insert to Cloud Firestore database如何只允许经过身份验证的用户插入 Cloud Firestore 数据库
【发布时间】:2026-02-13 13:40:01
【问题描述】:

用户登录应用后,我已使用电子邮件和密码成功应用 Firebase 身份验证。

接下来,我使用Cloud Firestore 为我的数据库设置安全规则,如下所示。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

现在,用户应该插入一些东西,但前提是他是经过身份验证的用户,并且他的信息存在于 firebase 控制台的身份验证表中。

..但事实并非如此,我在用户未通过身份验证的情况下成功地将一些数据插入到数据库中。似乎规则被忽略了..!

究竟如何才能只允许经过身份验证的用户读写?

【问题讨论】:

    标签: android firebase firebase-authentication google-cloud-firestore firebase-security


    【解决方案1】:

    试试这个代码:

    service cloud.firestore {
      match /databases/{database}/documents {
        match /{document=**} {
          allow read, write: if request.auth.uid != null;
        }
      }
    }
    

    【讨论】: