Правила безопасности Firebase получают значение из другого узла и сравнивают его с auth.uid - PullRequest
0 голосов
/ 03 января 2019

У меня проблемы с настройкой правил безопасности Firebase, когда я беру значение другого узла и сравниваю его с auth.uid

Моя структура выглядит следующим образом:

/$environment
/$environment/data/$client_id
/$environment/users/$uid/client_id

Iхотел бы убедиться, что аутентифицированный пользователь с auth.uid может просматривать данные только на $client_id, если $uid/client_id эквивалентен.

Я пробовал следующее, но в симуляторе он говорит, что доступ запрещен:

{
  /* Visit https://firebase.google.com/docs/database/security to learn more about security rules. */
  "rules": {
    ".write": false,
    "$environment": {

      /* Data */
      "data": {
        "$client_id": {
            ".read": "$client_id === root.child($environment+'/users/'+auth.uid+'/client_id').val()"
        }
      },

      /* Account settings */
      "users": {
        "$uid": {
          ".read": "$uid === auth.uid"
        }
      }

    /* --------------------------------*/
    /* end environment, rules and json */
    }
  }
}
...