Легко проверить данные ответов Firestore? - PullRequest
0 голосов
/ 21 сентября 2018

В Firestore у меня есть коллекция «ресторанов».

В документе «ресторан» я храню данные, необходимые для отображения информации на карте моего приложения, т.е.время открытия, местоположение и т. д.

Я также храню более конфиденциальную информацию, относящуюся к «ресторану», в том же документе.Мне нужна эта информация для моего интерфейса администратора.

Чтобы уменьшить сложность, я хочу сохранить эту информацию в том же документе «ресторан».Поэтому мой вопрос заключается в том, легко ли кому-нибудь проверить ответ от пожарного магазина, когда я достану ресторанный документ для отображения карты.Насколько легко они могли найти «конфиденциальную» информацию из этого ответа?Если я проверяю консоль, отклик firebase не так ясен, так безопасно ли это делать таким образом?

Создание отдельной коллекции для хранения конфиденциальных материалов - сложность, которую я не хочу представлять.

1 Ответ

0 голосов
/ 21 сентября 2018

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

Если вы не хотите, чтобы конфиденциальная информация была доступнадля пользователей вы можете:

  • Хранить конфиденциальную информацию в отдельной коллекции, которая затем недоступна для обычных клиентов.
  • Хранить конфиденциальную информацию в той же коллекции,но сделать коллекцию недоступной для клиентов.Затем предоставьте свой собственный API доступа к общедоступным данным, например, с помощью Облачные функции .Этот API может получить доступ к коллекции через Admin SDK (в обход правил безопасности) и обмениваться открытыми данными только с клиентами.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...