Я использую базу данных Firebase в реальном времени, и для нее настроены следующие правила,
{
"rules": {
".read": "auth !== null",
".write": "auth !== null"
}
}
Но когда я пытаюсь удалить запись, выдает ошибку, в которой отказано в разрешении следующим образом.
Database: Client doesn't have permission to access the desired data. (database/permission-denied).
Что мне делать? Я не могу понять, почему я могу делать все чтения и записи довольно хорошо с текущими правилами и не удалять.
Может ли кто-нибудь помочь мне с этим?
Примечание:
Изображение результатов, связанных с Firebase Simulator
При проверке на firebase.auth().currentUser
:
deleteUserAccount(userId) {
let knownLocationRef = this.database.ref('lastKnown/' + userId);
let promises = [];
console.log('auth details', this.auth.currentUser);
console.log('auth details null', this.auth.currentUser !== null); //returns true
knownLocationRef.once('value').then( (data) => {
console.log('data ', data.val());
if (data.val() !== null) {
let prevLat = data.val().lat;
let prevLong = data.val().long;
console.log('auth details', this.auth.currentUser);
console.log('auth details null', this.auth.currentUser !== null); //returns false
promises.push(knownLocationRef.remove());
}
});
return Promise.all(promises);
}