#javascript #firebase #firebase-realtime-database
# #javascript #firebase #firebase-realtime-database
Вопрос:
Если нет — есть ли проблема с попыткой получить ссылку на ключ базы данных, к которому у пользователя нет доступа, и проверкой, получаем ли мы ответ сервера, запрещающий доступ?
Является ли отклоненный запрос по-прежнему оплачиваемым событием? Если это не так, то я думаю, что проверка того, получаем ли мы отказ или тайм-аут, кажется подходящим методом.
Ответ №1:
Вы можете проверить, может ли клиент подключаться к базе данных, прослушивая .info/connected
узел. Дополнительные сведения см. в разделе Определение состояния соединения.
Невозможно выполнить отдельную проверку того, имеет ли пользователь доступ на чтение к узлу. Вам нужно будет попытаться прочитать узел и обработать результат. Если вас беспокоит размер узла, вы можете запросить путь с помощью REST API и передать shallow=true
его, чтобы получить только минимальный результат.
База данных Firebase в реальном времени не взимает плату за чтение с диска. Таким образом, если чтение отклонено, данные JSON не возвращаются клиенту, и с вас не будет взиматься плата за пропускную способность этого JSON.