您的 Cloud Firestore 数据库存在不安全规则,如何修复?

PJS*_*PJS 5 firebase firebase-security google-cloud-firestore

我使用下面的 Firebase Rest API 来访问我的 Firestore 数据库数据

https://firestore.googleapis.com/v1/projects/testproject/databases/(default)/documents/Test/Employee?key=a29.ImCbB4CbV3CWoPouWsh24NrQ-3eKUmuK-dELilZGmPqqDlq4jJNWBmJ47MnJ1pBQSDPNqPeknqD4Usm9SIf6pmG-8sfK15QlkQR
Run Code Online (Sandbox Code Playgroud)

为了访问我的 Firestore 数据库,我在关键部分使用了访问令牌,但我收到来自 Firebase 的电子邮件,指出“[Firebase] 您的 Cloud Firestore 数据库有不安全的规则”。直到那时我才发现,即使没有有效的访问令牌,任何人都可以访问我的数据库数据

所以我尝试在数据库中添加一些规则,如下所示,并希望只有有效的访问令牌才能访问我的数据库

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}
Run Code Online (Sandbox Code Playgroud)

但添加规则后,即使使用有效的访问令牌,我也无法再使用 REST API 查询数据库,其余 api 返回以下错误

{
  "error": {
    "code": 403,
    "message": "Missing or insufficient permissions.",
    "status": "PERMISSION_DENIED"
  }
}
Run Code Online (Sandbox Code Playgroud)

我应该如何编辑规则以确保我的数据库安全,同时仍然可以通过 REST API 进行访问。

PJS*_*PJS 1

我想我已经弄清楚访问令牌出了什么问题,我必须将令牌作为标头中的承载者传递,而不是将其作为网址中的密钥传递。