Почему я получаю разрешение PERMISSION_DENIED на флаттер в пожарном депо с доступом publi c? - PullRequest
0 голосов
/ 12 марта 2020

Я схожу с ума по этому ...

Правила Firestore:

rules_version = '2';
service cloud.firestore {
  match /databases/{database}/documents {
    match /{documents=**} {
      allow read, write;
    }
  }
}

код флаттера (cloud_firestore: ^ 0.13.4 + 1):

FirebaseAuth.instance.signInAnonymously()
.then((AuthResult result) async { 
  DocumentSnapshot snapshot = await Firestore.instance.collection("users").document("FzI6D1BIvdTU4htj5qeISev8pIo1").get();
  print(snapshot.data.toString());
})
.catchError((error) => print("Firestore error: " + error.toString()));

Результат отладки:

W/Firestore(18991): (21.3.0) [Firestore]: Listen for Query(users/FzI6D1BIvdTU4htj5qeISev8pIo1) failed: Status{code=PERMISSION_DENIED, description=Missing or insufficient permissions., cause=null}
I/flutter (18991): Firestore error: PlatformException(Error performing get, PERMISSION_DENIED: Missing or insufficient permissions., null)
  • Я попытался с действительным адресом электронной почты + пароль, который успешно вошел в систему; та же ошибка.
  • В «Игровой площадке правил» Firestore все работает без PERMISSION_DENIED.
  • Документ "/ users / FzI6D1BIvdTU4htj5qeISev8pIo1" существует, но даже если это не так, он не должен завершиться сбоем .

Ответы [ 2 ]

1 голос
/ 13 марта 2020

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

Пример, который вы можете использовать, чтобы задать свои правила безопасности, чтобы позволить аутентифицированным пользователям выполнять чтение и запись. ниже:

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read, write: if request.auth.uid != null;
    }
  }
}

Я бы порекомендовал вам попробовать использовать приведенные выше правила безопасности и проверить приведенные ниже статьи из официальной документации, с дополнительными примерами и информацией о том, как настроить ваши правила безопасности.

Дайте мне знать если информация помогла вам!

0 голосов
/ 31 марта 2020

Проблемы были вызваны некоторыми ограничениями администратора в gcloud. Если у кого-то есть подобная проблема, убедитесь, что ресурсы вашего проекта доступны на вкладке «IAM & Admin» консоли gcloud.

...