Как сгенерировать тот же идентификатор пользователя в базе данных firebase в режиме реального времени и аутентификации

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

#reactjs #firebase #react-native #firebase-realtime-database #firebase-аутентификация

Вопрос:

Я пытаюсь создать экраны регистрации для входа в систему в React Native и хочу получить сведения о пользователе, зарегистрированном с помощью регистрации / входа. Пока в них сохраняются данные, но идентификатор пользователя в базе данных и аутентификация в firebase отличаются для их извлечения. Как получить данные пользователя из firebase, если идентификатор пользователя будет отличаться в обеих таблицах.

 userLogin = (email, pass) => {
        firebase.auth().signInWithEmailAndPassword(email, pass)
        .then(() => {
            navigation.navigate("HomeScreen")
        })
        .catch(err => {
            Alert.alert(err.message)
        })
    }
 

Ответ №1:

При входе в систему с помощью следующего кода:

 firebase.auth().signInWithEmailAndPassword(email, password)
  .then((res) => {
    console.log(res.user.uid);
  })
  .catch((error) => {
    var errorCode = error.code;
    var errorMessage = error.message;
  });
 

Здесь вы можете получить uid аутентификацию из firebase, которую затем можно использовать в базе данных firebase в реальном времени:

 var database = firebase.database();
 database.ref('users/'   userId).set({
    username: name,
    email: email,
    profile_picture : imageUrl
  });
 

Комментарии:

1. Я новичок в React-Native, и тот, который вы предложили, не сработал или, возможно, я сделал неправильно. Можете ли вы опубликовать еще один, я обновил свой вопрос своим кодом для входа в систему.

2. что не сработало, ты сделал console.log(res.user.uid); ?

3. О, извините, я использовал идентификатор пользователя. Однако, когда я использовал res.user.uid, это сработало, спасибо.