Чтобы получить один и тот же идентификатор в базе данных аутентификации firebase и в реальном времени - PullRequest
0 голосов
/ 12 июня 2019

Я выполнил авторизацию firebase и сохранил те же данные в базе данных firebase.Как показано на рисунке ниже, я хочу, чтобы тот же идентификатор, который создается при входе в систему, отображался в базе данных.Я должен получить тот же идентификатор в случае успешного входа в систему.

 constructor(props) {
 super(props);
 this.state = { email: '', password: '', error: 
 '',user:'',confirmpassword:'' };
 this.handleChange = this.handleChange.bind(this);
 this.handleSubmit = this.handleSubmit.bind(this);
 }
 static navigationOptions = {
 title: 'Login',
 };
 state = { loggedIn: null };
 handleChange(e) {
 this.setState({
  email: e.nativeEvent.text,
  password: e.nativeEvent.textpassword,
  user: e.nativeEvent.textuser,
  confirmpassword: e.nativeEvent.textconfirmpassword,

  });
  }
 handleSubmit(email,password,user) {
 db.ref('sevenup-a1db1/').push({
     email:this.state.email,
      password:this.state.password,
      user:''

  }).then((data)=>{
      console.log('data ' , data)
      Alert.alert(
      'Item saved successfully'
       );
  }).catch((error)=>{
      console.log('error ' , error)
  })
 this.setState({ email, password,user });
  }

Приведенный выше код предназначен для сохранения данных в базе данных firebase.

  componentDidMount() {
   let config = {
   apiKey: "AIzaSyDPVoCjlIlLj1xrgros7hPjF8kkqsD4bSM",
   authDomain: "sevenup-a1db1.firebaseapp.com",
   databaseURL: "https://sevenup-a1db1.firebaseio.com",
   projectId:"sevenup-a1db1",
   storageBucket: "sevenup-a1db1.appspot.com",
   messagingSenderId:  "144328588028",
   appId: "1:144328588028:web:2e5addaf8b3e83ad"
    };
    firebase.initializeApp(config);
    firebase.auth().onAuthStateChanged((user) => {
    if (user) {
    this.setState({ loggedIn: true })
    } else {
    this.setState({ loggedIn: false })
    }
   })

   }

   onButtonPress() {
   this.setState({ error: '', loading: true })
   const { email, password } = this.state;
  firebase.auth().signInWithEmailAndPassword(email, password)
  .then(this.onLoginSuccess.bind(this))
  .catch(() => {
    firebase.auth().createUserWithEmailAndPassword(email, password)
      .then(this.onLoginSuccess.bind(this))
      .catch((error) => {
        let errorCode = error.code
        let errorMessage = error.message;
        if (errorCode == 'auth/weak-password') {
          this.onLoginFailure.bind(this)('Weak password!')
        } else {
          this.onLoginFailure.bind(this)(errorMessage)
        }
      });
  });
  }

Приведенный выше код предназначен для сохраненияДанные в Firebase Auth Я хочу, чтобы после успешного входа в систему данные были успешно сохранены в базе данных.Этот же идентификатор должен отображаться в базе данных firebase, которая отображается в аутентификации firebase.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...