Firestore отсутствует разрешение на запрос - PullRequest
0 голосов
/ 22 февраля 2020

Я хочу разрешить только аутентифицированным пользователям доступ к контенту, которым они владеют. Ниже приведены правила пожарного депо, которые я использую.

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /users/{userId}/{documents=**} {
      allow read, write: if request.auth.uid == userId
    }
  }
}

Это запрос на получение профиля пользователя по имени пользователя.

  const document = await Firebase.firestore().collection('users').where('username', '==', username).get()
  await document.forEach(doc => {
    context.commit('SET_PROFILE', doc.data())
  })

Возвращает:

FirebaseError: "Missing or insufficient permissions."

Но симуляция разрешена. Что я делаю не так?

enter image description here

1 Ответ

0 голосов
/ 22 февраля 2020

Ваше правило и ваш запрос должны совпадать. Правило гласит, что определенный путь разрешен, но в запросе вы выбираете всех пользователей с определенным именем пользователя.

Просто получить Firebase.firestore().collection('users').doc(userId).get()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...