经过身份验证的用户无权访问存储在 Firebase 中的数据

Authenticated user does not have permission to access data stored in Firebase

我有一个经过身份验证的用户,通过使用 FirebaseSimpleLogin 获得身份验证。该用户拥有令牌:

'user':{
    email: "myemail@internets.com",
    firebaseAuthToken: SOME TOKEN,
    "id: "4",
    isTemporaryPassword: true,
    md5_hash: "aHash123",
    provider: "password",
    uid: "simplelogin:4"
    }

我已经在 firebase 的 'rules and security' 选项卡下授予经过身份验证的用户读取权限,使用:

{
  "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;
    }
  }
}