У меня есть 2 приложения Flutter - назовем их A и B. Каждое приложение использует Firebase Authentication и Firebase Analytics (и, возможно, в будущем будет больше сервисов Firebase).Оба приложения должны иметь доступ к общему Cloud Firestore , и этот доступ, очевидно, должен быть безопасным.
Так, как мне лучше всего это сделать?
Я создал 3 проекта Firebase:
- Проект A для приложения Flutter A - включена аутентификация и аналитика
- Проект B для приложения Flutter B - включен аутентификация и аналитика
- Project C для Cloud Firestore
Для двух приложений Flutter я скачал соответствующие файлы GoogleService-Info.plist
и поместил их в директорию проекта ios/Runner
.Каждое приложение может успешно входить в систему и регистрировать аналитические события, и я могу четко разделить действия между двумя приложениями.
Теперь мне нужно указать и А, и В на C. Сначала я подумал, что могу просто обновить DATABASE_URL
в обоих GoogleService-Info.plist
файлах, но, похоже, это не сработает.
Я прочитал документацию Сконфигурировать несколько проектов и могу представить себе дополнительный файл GoogleService-Info.plist
для Cloud Firestore, возможно, с именем GoogleService-Info-DB.plist
, но тогда как получить FirebaseApp для загрузки вторичной конфигурации?(Обратите внимание, что iOS должна загрузить вторичный plist
, а Android должен загрузить вторичный json
файл.) Я вижу только метод configure , который принимает класс FirebaseOptions .
В связи с этим мне нужно защитить базу данных Project C только для аутентифицированных пользователей из Project A или Project B. Как я могу это сделать?