经过身份验证的用户无权访问存储在Firebase中的数据
我有一个经过身份验证的用户,通过使用经过身份验证的用户无权访问存储在Firebase中的数据,firebase,firebase-security,firebasesimplelogin,Firebase,Firebase Security,Firebasesimplelogin,我有一个经过身份验证的用户,通过使用FirebaseSimpleLogin对其进行身份验证。此用户具有令牌: 'user':{ email: "myemail@internets.com", firebaseAuthToken: SOME TOKEN, "id: "4", isTemporaryPassword: true, md5_hash: "aHash123", provider: "password", uid: "simplelo
FirebaseSimpleLogin
对其进行身份验证。此用户具有令牌:
'user':{
email: "myemail@internets.com",
firebaseAuthToken: SOME TOKEN,
"id: "4",
isTemporaryPassword: true,
md5_hash: "aHash123",
provider: "password",
uid: "simplelogin:4"
}
我已在firebase中的“规则和安全性”选项卡下使用以下命令授予经过身份验证的用户读取权限:
{
"rules": {
"SOME DATA": {
".read": "auth.email == 'myemail@internets.com'",
".write": true
}
}
}
但是,在访问数据时,我得到了一个错误:
Error: permission_denied: Client doesn't have permission to access the desired data.
我是否遗漏了一些基本信息,比如为什么我没有阅读权限?在firebase的安全规则部分,我犯了一个错误
{
"rules": {
"SOMEDATA": { //NOTE: removal of space character
".read": "auth.email == 'myemail@internets.com'",
".write": true
}
}
}
吸取的教训:非常具体的规则,并始终遵循一些惯例。试试这个,如果它有效的话:
service firebase.storage {
match /b/<url data>/o {
match /{allPaths=**} {
allow read, write: if true;
}
}
}
service firebase.storage{
匹配/b//o{
匹配/{allpath=**}{
允许读、写:如果为真;
}
}
}
我是个白痴。这个方法很好。在规则中,“某些数据”实际上是指“某些数据”。检查那些网址吧!