Я написал правила для своей базы данных пожарного депо, в которой только аутентифицированные пользователи могут читать и записывать данные в документы. Правило:
service cloud.firestore {
match /databases/{database}/documents {
// Allow the user to access documents in the "cities" collection
// only if they are authenticated.
match /PhoneAuthUsers/{phoneid=**} {
allow read, write: if request.auth.uid != null;
}
}
}
и я публиковал правило всякий раз, когда я запускаю приложение, я получаю строку ошибки
«Недостаточно прав доступа»
Мой метод аутентификации - Phoneauthentication, и у меня есть идентификатор авторизации на вкладке аутентификации. Это моя структура БД:
**- PhoneAuthUsers(Collection)
- Phonenumber(documents)
- Accounts(Collection)
-autoid(Document)**
Код на стороне клиента:
db.collection("PhoneAuthUsers")
.whereEqualTo("PhoneNumber", mobile)
.get()
.addOnCompleteListener(new OnCompleteListener<QuerySnapshot>() {
@Override
public void onComplete(@NonNull Task<QuerySnapshot> task) {
System.out.println("hello user");
if (task.isSuccessful()) {
for (DocumentSnapshot document : task.getResult()) {
Log.d(TAG, document.getId() + " => " + document.getData());
AuthID = document.getId();
System.out.print("AuthIDPhonenumber" + AuthID);
System.out.println("PhoneNumber");
String phone = document.getString("PhoneNumber");
Log.d(TAG, "onSuccess: " + phone);
if (phone.equals(mobile)) {
count = count + 1;
System.out.println("count" + count);
}
}
При попытке выполнить запрос выдает недостающие права.
Например :
PhoneAuthUsers / + 911234567890 / Учетные записи / autoid / Значения полей . при получении документов от пользователей телефона я получаю недостающие недостаточные разрешения. Как решить проблему.