即使使用 Firebase 身份验证,iOS Firestore 权限也会被拒绝

问题描述 投票:0回答:1

我知道这个问题已经被问了很多,但很多解决方案都说要更改 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)
            }
        }

    }

不确定我还能做什么来确保有足够的权限,并且我不想更改规则以允许任何人读/写。

谢谢!

ios swift firebase google-cloud-firestore firebase-authentication
1个回答
0
投票

弄清楚了——我错误地编写了匹配规则的文档路径。抱歉并感谢!

© www.soinside.com 2019 - 2024. All rights reserved.