我知道这个问题已经被问了很多,但很多解决方案都说要更改 Firestore 规则,但我不想这样做。我想知道为什么它们不能按原样工作,因为我通过 Firebase 设置了身份验证。
我通过将 GoogleService-Info.plist 添加到我的项目并在启动时调用 `FirebaseApp.configure() 来设置 Firebase 身份验证。我可以毫无问题地登录用户,但现在当我尝试读取或写入 Firestore 中的集合时,我收到“缺少或权限不足”错误。
这些是我的 Firestore 规则:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
这是我正在运行以添加到 Firestore 的函数:
func add_data() async {
Task {
do {
if let user = Auth.auth().currentUser {
Firestore.firestore().collection("collection/users/test).addDocument(data: ["Title" : "TEST"])
}
}
catch {
print(error)
}
}
}
不确定我还能做什么来确保有足够的权限,并且我不想更改规则以允许任何人读/写。
谢谢!
弄清楚了——我错误地编写了匹配规则的文档路径。抱歉并感谢!