Лучший способ организовать несколько приложений Firebase с общей базой данных с отдельной аутентификацией - PullRequest
0 голосов
/ 01 августа 2020

Я новичок в Google Firebase и разрабатываю два приложения, которые будут связаны друг с другом. Приложения будут использовать аутентификацию Firebase, облачные функции и базу данных firestore.

Для простого случая использования предположим, что одно приложение предназначено для администраторов, а другое - для обычных пользователей. Я хочу иметь отдельную аутентификацию (т.е. администратор может go в пользовательском приложении и создать новую учетную запись пользователя, используя тот же адрес электронной почты). Но я также хочу, чтобы они могли использовать ту же базу данных Firestore для доступа к информации. Наконец, мне нужно иметь возможность вызывать один и тот же набор облачных функций из обоих приложений.

Подводя итог моим потребностям:

  • 2 приложения
  • Отдельная проверка подлинности ( возможность иметь учетную запись с одним и тем же адресом электронной почты в обоих приложениях. На самом деле не обязательно иметь другой пароль - его можно использовать совместно)
  • Использовать одну и ту же базу данных Firestore
  • Использовать те же облачные функции

Я думаю, у меня есть два варианта

(Сложный вариант)

  • 2 отдельных проекта Firebase. Полностью отдельная аутентификация. Укажите на ту же базу данных. Но не уверены в том, что облачные функции работают и правильно аутентифицируют пользователя

(более простой вариант)

  • 1 Проект Firebase с несколькими приложениями. Когда новый пользователь аутентифицируется, мне нужно будет добавить запись как для «пользователей», так и для «администраторов». В разделе «администраторы» пользователь будет отключен до тех пор, пока флаг не будет изменен вручную (при наличии разрешения администратора) - это немного раздражает, но я могу заставить его работать. Это позволяет мне использовать одну и ту же базу данных Firestore и облачные функции с минимальными проблемами по сравнению с более сложным решением.

Какой вариант будет идеальным для моего варианта использования? Есть ли другие варианты дизайна, которые я не рассматриваю? (Примечание: я использую react-native для разработки своих приложений (https://rnfirebase.io/))

1 Ответ

0 голосов
/ 01 августа 2020

То, о чем вы здесь спрашиваете, во многом зависит от вашего мнения. Ни один из них определенно не лучше другого, учитывая подробности, которыми вы здесь поделились. Я предлагаю выбрать тот, который вам удобнее. 1003 * не вообще предназначено для перекрытия - это использование нескольких проектов. Если вы хотите, чтобы один и тот же набор пользователей одинаково применялся ко всем приложениям, вам следует использовать несколько приложений для каждого проекта.

...