Могу ли я запретить аутентифицированным пользователям просматривать весь файл базы данных firebase JSON? - PullRequest
0 голосов
/ 21 января 2020

Я создал файл json с более чем 5000 специалистами по обслуживанию, и я работаю над веб-сайтом, где кто-то может искать конкретную c услугу в зависимости от местоположения. Я новичок в firebase, поэтому, если я сохраню ниже JSON в базе данных firebase, это означает, что любой прошедший проверку пользователь может просмотреть все данные, введя URL-адрес firebase. json? Было бы несправедливо, если бы все данные были просто доступны для просмотра и просто скопировали все данные за минуту. Есть ли работа вокруг?

    [
    {
        "name": "John",
        "Location": "Montreal",
        "title": "Electrician",
        "rating": "3",
        "phone": "5141234567"

    },
    {
        "name": "Paul",
        "Location": "Toronto",
        "title": "Plumber",
        "rating": "1",
        "phone": "5142234567"

    },
    {
        "name": “Rita”,
        "Location": "New Foundland”,
        "title": "Mechanic",
        "rating": "4",
        "phone": “5143234567”
    }
]

1 Ответ

0 голосов
/ 21 января 2020

Как только вы захотите разрешить аутентифицированным пользователям выполнять поиск в вашей базе данных реального времени с помощью SDK клиентов (Web, Android, iOS), вам действительно нужно предоставить им доступ ко всему дереву технических специалистов (с помощью надлежащей безопасности). правила).

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

Поскольку облачные функции работают с правами администратора, они полностью обойдут правила безопасности. Поэтому вы можете настроить свои правила безопасности таким образом, чтобы конечные пользователи не могли просматривать / извлекать всю базу данных.

Обратите внимание, что использование этого метода имеет некоторые недостатки, в частности, с точки зрения ценообразования, аспектов в реальном времени, локального кэширования. и др. c. Следующая статья подробно описывает различия между запросами к базе данных Firebase напрямую или с помощью облачных функций.

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