Firebase Firestore Emulator:规则授予我的权限被拒绝

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

我用Firebase构建了一个应用程序。为了保护我的数据库,我使用了一些规则

这是一个样本

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()