【发布时间】:2020-04-08 00:50:24
【问题描述】:
我正在学习 Firestore 安全规则,但我无法理解为什么我的安全规则失败了。
这是我要运行的规则:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /company/{company} {
allow create, read, write, delete: if request.auth.uid != null &&
get(/databases/$(database)/documents/developer/$(request.auth.uid)).data.is_admin == true
}
}
}
这是我来自模拟器的 JSON 负载:
{
"uid": " sxTCUVtxcSSTIWicv7op10Cc3ff2",
"token": {
"sub": " sxTCUVtxcSSTIWicv7op10Cc3ff2",
"aud": "test-123",
"email": "",
"email_verified": false,
"phone_number": "",
"name": "",
"firebase": {
"sign_in_provider": "google.com"
}
}
}
您可以看到UID 与开发人员文档ID 匹配。这是我收到的错误。
错误运行模拟 - 错误:simulator.rules 行 [6],列 [73]。空值错误。
请指导我做错了什么。
【问题讨论】:
标签: firebase google-cloud-firestore firebase-security