Я новичок в Google Firebase и разрабатываю два приложения, которые будут связаны друг с другом. Приложения будут использовать аутентификацию Firebase, облачные функции и базу данных firestore.
Для простого случая использования предположим, что одно приложение предназначено для администраторов, а другое - для обычных пользователей. Я хочу иметь отдельную аутентификацию (т.е. администратор может go в пользовательском приложении и создать новую учетную запись пользователя, используя тот же адрес электронной почты). Но я также хочу, чтобы они могли использовать ту же базу данных Firestore для доступа к информации. Наконец, мне нужно иметь возможность вызывать один и тот же набор облачных функций из обоих приложений.
Подводя итог моим потребностям:
- 2 приложения
- Отдельная проверка подлинности ( возможность иметь учетную запись с одним и тем же адресом электронной почты в обоих приложениях. На самом деле не обязательно иметь другой пароль - его можно использовать совместно)
- Использовать одну и ту же базу данных Firestore
- Использовать те же облачные функции
Я думаю, у меня есть два варианта
(Сложный вариант)
- 2 отдельных проекта Firebase. Полностью отдельная аутентификация. Укажите на ту же базу данных. Но не уверены в том, что облачные функции работают и правильно аутентифицируют пользователя
(более простой вариант)
- 1 Проект Firebase с несколькими приложениями. Когда новый пользователь аутентифицируется, мне нужно будет добавить запись как для «пользователей», так и для «администраторов». В разделе «администраторы» пользователь будет отключен до тех пор, пока флаг не будет изменен вручную (при наличии разрешения администратора) - это немного раздражает, но я могу заставить его работать. Это позволяет мне использовать одну и ту же базу данных Firestore и облачные функции с минимальными проблемами по сравнению с более сложным решением.
Какой вариант будет идеальным для моего варианта использования? Есть ли другие варианты дизайна, которые я не рассматриваю? (Примечание: я использую react-native для разработки своих приложений (https://rnfirebase.io/))