【发布时间】:2022-01-12 10:27:22
【问题描述】:
想象一下,1 - 静态前端客户端 和 2 - node.js 服务器 都使用 Firestore 数据库。
基本上,只允许domain 和ip address 使用该数据库,它运行良好。
棘手的部分:
- 我们希望 node.js 服务器对整个数据库进行读/写
- 但如果用户通过身份验证,则应仅允许 Web 客户端在同一数据库上读取/写入。
问题是rules 无法将我们的ip address 列入白名单。
所以我们尝试使用这个:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
那么node.js服务器可以signInAnonymously,而前端客户端需要在访问任何内容之前对用户进行身份验证。
我的问题
signInAnonymously 是否足够安全?
因为anonymous auth 已打开,有人可以从我们的前端中signInAnonymously 吗?
是否有可能有人欺骗某些标头并伪装成我们的域只是为了将自己验证为匿名?
这样的案例的最佳做法是什么?
【问题讨论】:
标签: firebase authentication google-cloud-firestore firebase-authentication firebase-security