# #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") }); };