В настоящее время я разрабатываю веб-приложение, основанное на аутентификации, хранилище и хранилище для Firebase, где пользователь может загружать свои файлы в корзину и хранить их строго закрытыми.
Я добавил правила в хранилище следующим образом:
rules_version = '2';
service firebase.storage {
match /b/{bucket}/o {
match /filearchive/{fileName} {
allow read: if request.auth != null;
allow write: if request.auth.uid + ".pdf" == fileName
}
}
}
И после того, как пользователь загружает свои файлы, я отслеживаю загруженные с помощью коллекции Firestore, чтобы сохранить URL-адреса, полученные с помощью метода:
.snapshot.ref.getDownloadURL().then(downloadURL => {
})
Все работает, но если я пытаюсь скопировать и поделиться ссылкой на загруженный документ, они включают его токен в строку запроса и становятся общедоступными для всех.
Я знаю, что могу отозвать токен файла, но это может произойти только после утечки, ее может быть трудно определить (Я не знаю, какие инструменты использовать), и наверняка он использует пропускную способность / данные из моего плана, если этот файл широко используется.
Кто-то знает, что является наилучшей практикой и как защитить загруженный файл и соблюдайте правило «разрешить чтение: если request.auth! = null;»?
С уважением