firebase - 匿名使用 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
}
}
}
解决方案
我建议阅读有关安全规则的文档,以了解用户身份验证如何与安全规则一起使用。
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
这是否是一个好主意完全取决于您。您必须决定是否希望所有用户都能够读取所有数据。
推荐阅读
- python - 为什么 Python 在每次循环时都不执行一个函数?
- sql - 通过查看一列中的起始值并且仅在首先执行某个值时返回数据
- algorithm - 分而治之 Delaunay 三角剖分 - 合并时获得第一个(又名“基础”)边缘
- cobol - On Size Error 没有给出预期的输出
- javascript - 跟踪已执行操作 MVC 和 SinglaR 的进度
- macos - 如何阻止 WKWebView 创建过多进程?
- scala - 检查RDD是否包含相同的键,如果是则合并它们
- c# - c# Immutability 创建全局存储
- encryption - 离线系统的公钥/私钥加密
- bash - 合并两个文件,同时在给定列 awk 中保留具有较大值的行