Как разрешить доступ к данным firestore только моему приложению nativescript?

Я разрабатываю приложение для android / ios с использованием Nativesript + angular. Я хочу отображать ListView в своем приложении. Для этого ListView я хочу использовать продукт базы данных firestore от Firebase в качестве поставщика данных Backend. Что я хочу: 1. Я не хочу, чтобы пользователи входили в систему или проходили аутентификацию для использования приложения. 2. Я хочу, чтобы данные, поступающие из базы данных firebase, могли использоваться только моим приложением. Если какие-то другие приложения или анонимные пользователи используют данные, могу ли я заблокировать их?

Я пробовал устанавливать такие правила, как

service cloud.firestore {
  match /databases/{database}/documents {
    match /{document=**} {
      allow read: if true;
    }
  }
}

Но это позволяет каждому получить доступ к данным.

Есть ли другой поставщик данных, который предоставляет такую ​​же функциональность?




Ответы (1)


Обновление (май 2021 г.):

Благодаря новой функции, называемой Firebase App Check, теперь можно ограничить количество звонков. к вызываемым облачным функциям только из приложений iOS, Android и веб-приложений, зарегистрированных в вашем проекте Firebase.

Как правило, вы захотите объединить это с безопасностью на основе аутентификации пользователя, которую я описал ранее / ниже, чтобы у вас был еще один щит против оскорбительных пользователей, которые действительно используют ваше приложение.

По-прежнему обычно рекомендуется контролировать доступ на основе аутентификации пользователя (что позволяет идентифицировать каждого отдельного пользователя), а затем гарантировать, что они могут получить доступ только к данным, для которых они авторизованы (в правилах безопасности).

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

Комбинируя проверку приложений с правилами безопасности, вы получаете как широкую защиту, так и детальный контроль над тем, к каким данным каждый может получить доступ.

person Frank van Puffelen    schedule 22.12.2018
comment
Спасибо за ответ, я нашел способ использовать прокси-сервисы. Используя прокси-сервисы, мы не будем хранить свойства, связанные с API, на стороне клиента, вместо этого мы будем хранить эти свойства на стороне прокси-сервисов. Я действительно не уверен, сможем ли мы это сделать или нет. Вы согласны с процессом? - person Vivek Kurmi; 22.12.2018
comment
Hackernoon article - person Vivek Kurmi; 22.12.2018
comment
Это означает, что теперь вам нужно ограничить доступ к вашему прокси. Конечно, это можно сделать, но более распространенным подходом является использование аутентификации Firebase и безопасный доступ с помощью правил. - person Frank van Puffelen; 22.12.2018