Публичные изображения только для хостинга Firebase - PullRequest
0 голосов
/ 03 апреля 2019

Я новичок в Google Cloud и Firebase.Сайт / приложения работают на стороне клиента в Vue.Я использую Firebase для аутентификации / хостинга / хранения / функций.Проблема в том, что я хочу иметь в хранилище изображения, которые не являются общедоступными, но относятся к ним так, как если бы они были общедоступными.Ака помещает ресурсы в img src и использует их в разных местах на сайте.

Длительно и медленно помещать каждое изображение через функцию для проверки подлинности.Я хотел бы, чтобы /img/foobar.jpg, который действительно https://storage.*/img/foobar.jpg, не выполнялся через функцию, но не был общедоступным.

Я могу заставить изображение появляться без функции, если я загружаю изображение, а его владельцем является я (это учетная запись Google).Это не будет работать для всех, потому что у пользователей сайта нет учетных записей Google.

Я думал, что мог бы создать политику, которая гласит, что не будут работать только прямые ссылки на изображение, но сайт Firebase Hosting может просматривать изображения публично.Поскольку хостинг-сайт Firebase находится за логином, активы будут защищены.Это возможно?Я не вижу никакой документации, подтверждающей это.

1 Ответ

0 голосов
/ 03 апреля 2019

Вы заявляете, что используете firebase auth. В правилах хранения Firebase вы можете определить, что файл может быть прочитан, только если пользователь аутентифицирован. Что-то вроде этого будет достаточно:

match /{allPaths=**} {
      allow read: if request.auth != null;
    }

См. https://firebase.google.com/docs/storage/security/start для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...