首页 > 解决方案 > 匿名使用 Firebase 进行身份验证

问题描述

我目前正试图让用户通过匿名身份验证实现对我的 Firestore 数据库的读取访问。

我想这样做的原因是因为我不断收到电子邮件说“你的 Cloud Firestore 数据库有不安全的规则”,我不想让用户登录。

为了解决这个问题,我在应用程序打开时让每个人都成为匿名用户,但是我在编写批准匿名用户读取访问权限的规则时遇到了麻烦。

下面的功能正在工作:

func signInUser(){
    let auth = Auth.auth()

    auth.signInAnonymously{(result, err) in
        if let err = err{
            print(err.localizedDescription)
            return
        }
        print("User Logged in anonymously")
    }
}

如何在 Firebase 控制台上编写规则以仅允许对 Firestore 集合进行读取访问。

这也是一个坏主意吗?

当前规则:

service cloud.firestore {
  match /databases/{database}/documents {

    match /{document=**} {
  
      allow read: if true
    }
  }
}

标签: firebasegoogle-cloud-firestorefirebase-authenticationfirebase-security

解决方案


我建议阅读有关安全规则的文档,以了解用户身份验证如何与安全规则一起使用。

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth != null;
    }
  }
}

这是否是一个好主意完全取决于您。您必须决定是否希望所有用户都能够读取所有数据。


推荐阅读