为什么在我测试更新或创建Firebase模拟器时会抛出无效的参数错误?

时间:2018-10-19 19:46:55

标签: firebase google-cloud-firestore firebase-security-rules

这是我的错误: 运行模拟时出错-错误:simulator.rules第[10]行,第[13]列。找不到函数错误:名称:[get]。错误:提供了无效的参数来调用。函数:[get],参数:[“ || invalid_argument ||”]

当我运行此程序时,我已经用尽了我在网络上可以找到的所有资源,却发现什么都行不通(当我只使用isSignedIn()时,允许读取工作并创建工作)...请帮忙

service cloud.firestore {
	match /databases/{database}/documents{
    match /users/{documents} {     
	 function isSignedIn() {
         return request.auth != null;
    }
	 function getRole(admin){
   		return get(/databases/$(database)/documents/users.[request.auth.uid]).data.admin;   		
   }        
     allow read: if true; 
     allow write: if getRole(admin) == true;    
    }
  }  
}

Here is my db

1 个答案:

答案 0 :(得分:1)

在getRole函数中尝试获取用户角色之前,需要检查用户是否已通过身份验证。发生异常是因为request.auth.uid为null。 还要检查用户。[request.auth.uid]是有效路径。