React Native firebase tutor и дифференциация входа пользователя в систему

# #reactjs #firebase #react-native #firebase-realtime-database #firebase-authentication

#реагирует на #огневая база #реагировать-родной #firebase-база данных в реальном времени #firebase-аутентификация

Вопрос:

Я создал два приложения в react native с firebase, одно для пользователей, а другое для преподавателей.

Когда я регистрируюсь в обоих приложениях, я сохраняю значение по умолчанию для преподавателя как userType==tutor и для пользователя, userType==user чтобы различать пользователя и преподавателя во время входа в систему.

Когда я вхожу в систему, но приложение не может отличить преподавателя от администратора.

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

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

Может ли кто-нибудь предложить хорошее решение для этого или какой-либо код или логику с объяснением?

Вот мой код для входа.

 loginFunc = (email, password) =gt; {  Setloader(true);  auth  .signInWithEmailAndPassword(email, password)  .then(async () =gt; {  const currentUid = auth.currentUser.uid;  if(currentUid){  const ref = db.ref('Parents/').child(currentUid   '/user');  await ref.once('value', (snapshot) =gt; {  Setloader(false);  if (snapshot.exists()) {  if (snapshot.val().userType === "user") {  Setloader(false);  console.log('User account created amp; signed in!');  navigation.navigate('HomePage');  }  else {  Setloader(false);  auth.signOut().then(() =gt; {  Setloader(false);  alert("User Signout")  });  }  }  })}else if(currentUid){  const ref = db.ref('Tutors/').child(currentUid   '/user');  await ref.once('value', (snapshot) =gt; {  Setloader(false);  if (snapshot.exists()) {  if (snapshot.val().userType === "tutor") {  Setloader(false);  console.log('User account created amp; signed in!');  navigation.navigate('HomePage');   }  else {  Setloader(false);  auth.signOut().then(() =gt; {  Setloader(false);  alert("User Signout")  });  }  }  })}  })  .catch((error) =gt; {  Setloader(false);  alert("Login Failure")  });  };