因此,我在firebase中为我的数据库编写规则。我试着只允许一个人删除他自己的帖子。但是当我测试它的时候,任何人都可以删除任何人的帖子。 我试着写if request.auth.uid==resource.data.User.uid,但是它不能工作 rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /posts/{postId}{
allow delete: if request.auth.uid==resou
我的Firestore数据库中有以下规则。但是,我仍然不断收到Firestore的通知,说我在数据库中设置的规则是不安全的。请看下面的代码。有什么建议或建议使数据库更安全吗?
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read: if true;
allow write: if userIsAdmin();
}
match /Basket/{Basket}
是否可以在云firestore中查询文档的多个字段中的任何一个字段中的相同值。
Example like this
await firestore()
.collection('chats')
.where('ownerUserId', '==', user.uid)
.where('chatUserId', '==', user.uid)
.orderBy('createdAt', 'desc')
.get()
or to
我看到,要在安全规则中获取文档字段,必须使用get。下面的示例显示了在users集合中获取某个文档的“admin”字段。如果我想获得另一个字段,我是否需要执行另一个get请求,或者我可以只执行一个get请求并获得文档中我需要的所有字段。
这里是我在文档中提到的例子。
service cloud.firestore {
match /databases/{database}/documents {
match /cities/{city} {
// Make sure a 'users' document exists f
我有一个基于Authentication和的颤振应用程序,我通过 firebase添加了用户(蓝色按钮),并在代码中保留了ID,以便这个用户是administrator,的常规用户可以通过应用程序创建一个帐户(电子邮件和密码),我想要的是确保administrator是唯一可以从数据库中删除数据的人,而其他用户只允许读写,所以我这样做了:
我将CloudFi还原项目中的角色更改为:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match
我想在我的firebase存储中添加不同的图像,但问题是,我的代码只在存储文件中添加了一个,可以添加多个吗?
let userID = Auth.auth().currentUser!.uid
let db = Firestore.firestore()
guard let imageData = self.countryImage.image?.jpegData(compressionQuality: 0.4) else {
return
}
let storageRef = Storage.storage().reference(forURL: "gs://covidre
我的用例是,我有一个web应用程序,其中我听Firestore集合。其中一个集合是为公共用户提供的,在这些用户中,匿名用户就足够了。第二个集合是用于登录用户的,因此我按照以下步骤实现了自定义令牌。。一旦用户登录,我们就启动一个Web工作者来初始化应用程序,并收听Firestore。
我的问题是,当用户登录时,第二个订阅,即经过身份验证的订阅,可以正常工作,但是如果我尝试转到公共页面,在那里我不需要使用auth令牌,在相同的选项卡中,我会得到这个错误。
Uncaught (in promise) FirebaseError: Missing or insufficient permissions
为Firestore编写规则,似乎自定义变量不起作用。有谁知道为什么或曾见过类似的行为吗?使用下面的命令,我被拒绝了访问,尽管uid位于admin数组中。
service cloud.firestore {
match /databases/{database}/documents {
match /conferences/{confid} {
allow read,write: if request.auth.uid in get(/databases/$(database)/documents/conferences/$(confid)).d