Когда я напрямую получаю документ с помощью .doc (). Get () firestore security rues deny permission. Что мне нужно сделать, чтобы разрешить операции CRUD для аутентифицированных пользователей моего Ionic-приложения? В моем приложении PWA Ionic есть следующая функция
``` async getUserProfile(): Promise<firebase.firestore.DocumentSnapshot> {
const user: firebase.User = await this.authProvider.getUser();
this.currentUser = user;
console.log('found current user');
this.userProfile = firebase.firestore().doc(`userProfile/${user.uid}`);
console.log('returing userprofile', this.userProfile.get());
return this.userProfile.get();
}```
Но вызов this.userprofile.get () не выполняется из-за предупреждения системы безопасности из правил безопасности Firestore.
обнаружил, что текущий пользователь возвращается в профиль пользователя ZoneAwarePromise __zone_symbol__state: 0 __zone_symbol__value: FirebaseError: разрешения отсутствуют или недостаточны. в новом e (http: // localhost: 8100 / vendor.js: 92760: 23) по адресу http: // локальный: 8100 / vendor.js: 102987: 28. . . (http: // localhost: 8100 / polyfills.js: 10248: 56) код: запрещенное в разрешении имя: FirebaseError toString: ƒ () сообщение: разрешения отсутствуют или недостаточны. stack: FirebaseError: разрешения отсутствуют или недостаточны. \ n в новом e
Правила безопасности Firestore устанавливаются просто как
service cloud.firestore {
match /databases/{database}/documents {
match /userProfile/{userId}/{documents=**} {
allow read, update, get,delete: if request.auth != null && request.auth.uid == userId;
allow create: if request.auth != null;
}
}
}
Какое должно быть правильное правило безопасности, которое позволит аутентифицированным пользователям использовать CRUD для своих документов? Или правильный способ получить документ из коллекции
ОБНОВЛЕНИЕ: он работает непосредственно из симулятора, но не из приложения