javascript firebase.auth()。currentUser = null

时间:2018-06-27 10:43:58

标签: javascript firebase login firebase-authentication

我已经通过firebase.auth()使用方法signinwithemailandpassword(email,password)创建了一个简单的login.js。 正确登录后,通过window.open(“ homepage.html”)方法,我打开一个新页面。 在此主页中,如果我使用window.alert(firebase.auth()。currentUser.uid),则会出错,因为currenUser为null。 我想使用观察者

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.

    var uid = user.uid;

  } else {
   // User is signed out.
   // ...
  }
});

但是该观察者会检查用户是否存在,请不要带我去检索uid用户或存储它的方法。

1 个答案:

答案 0 :(得分:0)

Login.js

const txtemail = document.getElementById('input_email');
const txtpassword = document.getElementById('input_password');
const btnLogin = document.getElementById('buttonLogin');

btnLogin.addEventListener('click', e => {
const email = txtemail.value;
const password = txtpassword.value;
 if(email == ""){
   window.alert("inserisci email!");
  } else if (password == ""){
    window.alert("inserisci Password");
  } else {

 const auth = firebase.auth();
 auth.signInWithEmailAndPassword(email,password)
 }
});


firebase.auth().onAuthStateChanged(function(user) {
 if (user) {
firebase.database().ref("TeamLavoro").orderByChild('Email').equalTo(user.email).on("value", function(snapshot) {
  if(snapshot.val() != null){
      window.open("homepageteam.html", "_self");
  } else {
      window.open("homepage.html", "_self");
   }
 })
  }else{
   window.alert("Nessun Utente Trovato");
 }
});

homepageteam.js

firebase.auth().onAuthStateChanged(function (user) {
if(user){
  window.alert(user.uid);
}
else{
  window.alert("No USER")
}
});

所有时间均为“无用户”。 我已经尝试过.than和.catch,但是是相等的。