如何通过传入值 request.auth 从 firestore 请求数据
How to request data from firestore by bringing in the value request.auth
我正在学习使用 Angular 通过利用 firestore 实时数据库创建一个简单的应用程序。
这是我用来检索数据的查询
let query = this.firestore.collection('notes', ref => ref
.where('noteUser', '==', this.data['id'])
.where('noteStatus', '==', 0)
.orderBy('noteUpdateAt', 'desc')
);
let dataNew0 = query.valueChanges({ idField: 'id' });
dataNew0.subscribe(ss => {
this.myDataNote = ss;
});
当我使用默认的 firestore 规则设置时,一切都很顺利。
当我想在生产模式下使用它时,我将规则更改为文档中的这样:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null
}
}
}
问题是:如何在将数据输入 request.auth
变量时应用用户 ID,以便 firestore 规则设置读取它。
如安全规则 doc 中所述,如果您的应用使用 Firebase 身份验证,request.auth
变量包含客户端请求数据的身份验证信息。
我正在学习使用 Angular 通过利用 firestore 实时数据库创建一个简单的应用程序。
这是我用来检索数据的查询
let query = this.firestore.collection('notes', ref => ref
.where('noteUser', '==', this.data['id'])
.where('noteStatus', '==', 0)
.orderBy('noteUpdateAt', 'desc')
);
let dataNew0 = query.valueChanges({ idField: 'id' });
dataNew0.subscribe(ss => {
this.myDataNote = ss;
});
当我使用默认的 firestore 规则设置时,一切都很顺利。
当我想在生产模式下使用它时,我将规则更改为文档中的这样:
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null
}
}
}
问题是:如何在将数据输入 request.auth
变量时应用用户 ID,以便 firestore 规则设置读取它。
如安全规则 doc 中所述,如果您的应用使用 Firebase 身份验证,request.auth
变量包含客户端请求数据的身份验证信息。