Разрешить только зарегистрированным пользователям читать и записывать данные Firebase - PullRequest
0 голосов
/ 22 апреля 2020

Я использую базу данных FireBase Realtime для настройки простого приложения CRUD.

Я настраиваю свои правила, чтобы только зарегистрированные пользователи могли писать в раздел запросов. Должно быть, я что-то неправильно понимаю в auth.uid.

В запросах я установил ".write" : "auth.uid === true", но не могу записать данные.

Что мне здесь не хватает?

{
"rules": {
  "users": {
    "$user_id" : {
      ".read" : "$user_id === auth.uid",
      ".write" : "$user_id === auth.uid"
    }
  },
  "requests" : {
    ".read" : "true",
    ".write" : "auth.uid === true",
    "$request_id" : {
      ".validate" : "newData.hasChildren(['createdAt', 'note', 'requestedBy', 'title', 'type'])",
        "createdAt": {
          ".validate" : "newData.isNumber()"
        },
        "note": {
          ".validate" : "newData.isString()"
        },
        "requestedBy": {
          ".validate" : "newData.isString()"
        },
        "title": {
          ".validate" : "newData.isString() && newData.val().length > 0"
        },

        "type": {
          ".validate" : "newData.isString()"
        },
        "$other" : {
          ".validate" : false
        }
      }
    }
  }
}

1 Ответ

1 голос
/ 22 апреля 2020

auth.uid - это строка, поэтому она никогда не будет === true. Я думаю, что вы хотите auth.uid != null

...