相关疑难解决方法(0)

在 Firebase Firestore 中,是否有任何方法可以将不属于路径一部分的信息传递给安全规则?

我想向 Firestore 数据库(Firebase)发送一些信息,最好是键值对(但不一定),以便它可以使用它来评估规则中的访问权限(读取和写入时)。

但是,我不希望此信息成为路径的一部分。

例如,假设我有一些passParameters方法:

DocumentReference docRef = 
      db.collection("cities")
        .document("SF")
        .passParameters("abc", 123);
Run Code Online (Sandbox Code Playgroud)

然后我可以在编写规则时访问这些信息,如下所示:

service cloud.firestore {
  match /databases/{database}/documents/cities/SF/ {
    allow read, write: if request.parameters.abc == 123;
  }
}
Run Code Online (Sandbox Code Playgroud)

请注意,以上只是一个示例。现实生活中的用例更加复杂。换句话说,不要过多关注示例本身,而是回答更通用的问题:是否有任何方法可以将不属于路径一部分的信息传递给安全规则?

firebase firebase-security google-cloud-firestore

5
推荐指数
1
解决办法
1890
查看次数

使用 ID 令牌的 REST API Firestore 身份验证

我有一个 Firestore 数据库和一个用户。在用户通过 REST 请求登录后,我能够为他们检索 ID 令牌。

我将使用 ID 令牌请求从数据库读取/写入。

当安全规则打开时(任何人都可以读/写),我可以通过 Python 请求读取和写入 Firestore:

headers = {
    'Content-Type': 'application/json',
}

url = 'https://firestore.googleapis.com/v1beta1/projects/[PROJECT_NAME]/databases/(default)/documents/[COLLECTION]/[DOCUMENT]'

r = requests.get(url, headers=headers)
Run Code Online (Sandbox Code Playgroud)

写法类似,略去。

尝试按照这些文档为实时数据库附加 ID 令牌会给出错误消息""Invalid JSON payload received. Unknown name \"auth\""...

我的问题是如何通过 REST 为 Firestore 授权用户 ID 令牌?

rest firebase google-cloud-firestore

4
推荐指数
1
解决办法
2500
查看次数

Firestore:使用安全规则限制子/域访问

如果我理解正确[1],在Firebase中无法限制用户访问他们拥有的数据,也无法隐藏敏感列.在新发布的Firestore中这样更好吗?它有解决方法吗?

我能想到的另一种选择是通过云功能路由此类请求,以便根据需要进行过滤,而不是允许直接访问.可能有用吗?

[1] 使用安全规则限制子/域访问

firebase google-cloud-firestore

1
推荐指数
1
解决办法
3145
查看次数