Firebase Firestore Emulator:规则授予我的权限被拒绝
我用Firebase构建了一个应用程序。为了保护我的数据库,我使用了一些规则 这是一个样本Firebase Firestore Emulator:规则授予我的权限被拒绝,firebase,google-cloud-firestore,emulation,rules,permission-denied,Firebase,Google Cloud Firestore,Emulation,Rules,Permission Denied,我用Firebase构建了一个应用程序。为了保护我的数据库,我使用了一些规则 这是一个样本 rules_version = '2'; service cloud.firestore { match /databases/{database}/documents { function getUserData( userId ){ return get(/databases/$(database)/documents/Users/$(userId)).d
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
function getUserData(
userId
){
return get(/databases/$(database)/documents/Users/$(userId)).data;
}
// Check if the requested user has specified roles
function hasUserRole(
userId,
roles
){
return getUserData(userId).role in roles;
}
match /Users/{user} {
allow list: if hasUserRole(request.auth.uid, ['Admin']);
}
}
}
我混合使用了该网站中的两条规则
第一
第二
firestore的内容
FireAuth的内容
应用程序中产生错误的代码。
uid的值=>nerot4xiazbirdh3xkmscbtokp5y
this._firestore.doc("/Users/" + uid).get()
请帮助我了解为什么我在emulator中仍然存在拒绝许可的问题,并且在GCP控制台中可以完美地工作
GCP规则模拟器屏幕截图
rules_version = '2';
service cloud.firestore {
match /databases/{database}/documents {
match /emails/{emailId} {
allow write: if request.resource.data.status in ['sending', 'soft-bounce', 'hard-bounce', 'received']
}
}
}
this._firestore.doc("/Users/" + uid).get()