Firebase: у клиента нет прав доступа к нужным данным - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь разрешить всем моим пользователям читать данные в users/{$uid}/books/owned_books/ без значения по умолчанию ".read" === true в моем каталоге users. Можно ли использовать вместо {$uid} подстановочный знак, который предоставит пользователям разрешение на чтение данных другого пользователя?

Я уже пытался разрешить пользователю читать users, но я получаю следующую ошибку: permission_denied at /users: Client doesn't have permission to access the desired data.

  "rules": {
    "users": {
      "$uid": {
        "user_data": {
          ".read": "$uid === auth.uid",
          ".write": "$uid === auth.uid"
        },
        "books": {
          "owned_books": {
            ".read": "auth !== null &&  auth.uid ===$uid ",
            ".write": "$uid === auth.uid"
          }
        }
      }
    }
  }
}

1 Ответ

0 голосов
/ 03 мая 2020

Я решил это, добавив ".read": "auth !== null" в users, как показано ниже:

  "rules": {
    "users": {
      ".read": "auth !== null",
      "$uid": {
        "user_data": {
          ".read": "$uid === auth.uid",
          ".write": "$uid === auth.uid"
        },
        "books": {
          "owned_books": {
            ".read": "auth !== null &&  auth.uid ===$uid ",
            ".write": "$uid === auth.uid"
          }
        }
      }
    }
  }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...