页面重定向到另一个页面(仪表板)后如何使用Firebase身份验证用户数据?

时间:2019-08-28 12:58:12

标签: javascript firebase firebase-authentication

在使用Firebase身份验证使用电子邮件和密码登录后,页面被重定向到用户仪表板,页面重定向后,我如何在该仪表板中使用用户凭据。

firebase.auth().signInWithEmailAndPassword(this.email, this.password)
                      .then(cred => {
                          console.log(cred.user);

                          window.location='dashboard.html'
                         }).catch(err => {
                        this.feedback=err.message;
                      })

使用给定命令将数据存储在Cloud Firestore中:-

 firebase.auth().createUserWithEmailAndPassword(this.email, this.password)
                        .then(cred => {
                            return db.collection('students').doc(cred.user.uid).set({
                                name: this.name,
                                email: this.email
                            });


                    }).then(() => {
                        this.feedback='User registered, please login.';
                        window.location='login.html' ;
                    })
                    .catch(err => {

                        this.feedback=err.message;
                        });
我想使用数据库中用户uid索引的存储详细信息 并显示在用户仪表板上

firebase.auth().onAuthStateChanged(user => {
                      if (user) {
                        console.log(user.email);
                        window.location= 'dashboard.html'
                        console.log(user.email);
                        this.name = user.displayName ;
                        this.email =user.email;
                      }

                  })

1 个答案:

答案 0 :(得分:0)

要使用户进入新页面,请使用here所示的onAuthStateChange侦听器:

firebase.auth().onAuthStateChanged(function(user) {
  if (user) {
    // User is signed in.
  } else {
    // No user is signed in.
  }
});

通常在else块中,您将重定向回登录页面。由于Firebase身份验证会自动刷新其短暂的ID令牌,因此在仪表板页面中包含以上代码也意味着用户可以安全地将该仪表板页面的URL添加为书签,并在以后返回。