2017-08-03 61 views
3

如何获取当前登录的用户密钥。我已经试过这种方式。如何在登录时获取当前用户密钥

openMapPage() 
    { 
    var ref = firebase.database().ref("request"); 
    ref.once("value").then((snapshot) => { // <------ Here! 
     var a = snapshot.exists(); // true 
     var c = snapshot.hasChild("reqdetails"); // true 
     var d = snapshot.child('reqdetails').exists(); 
     var requestsKey = snapshot.key; 
     var requestsValue = snapshot.val(); 

      this.afAuth.authState.take(1).subscribe(data =>{ 
     this.profileData = this.af.object(data.uid); 
       console.log(this.profileData); 
    }) 
     snapshot.forEach((childSnapshot) => { // <------ And here! 
      var requestKey = childSnapshot.key; 
      var requestValue = childSnapshot.val(); 

      var reqdetails = requestValue.reqdetails; 
      if (reqdetails) { 
       this.data = requestKey; 
       console.log(this.data); 
       //this.arr.push(requestKey); 
       //console.log(this.arr); 

       this.getRequest = this.angFire.list('request', { 
        query: { 
        orderByChild: 'reqdetails', 
        startAt: 'reqdetails' 
      } 
     }) 


      } 
     }); 

    });  
    } 

我试图获取当前用户在这部分代码:

this.afAuth.authState.take(1).subscribe(data =>{ 
     this.profileData = this.af.object(data.uid); 
       console.log(this.profileData); 
    }) 

当我控制台日志profileData我得到这个东西:

enter image description here

回答

0

随着Javascript当用户登录或使用Firebase注销时,您可以获得onAuthStateChanged()回拨。

为了让你可以使用currentUser键:我希望这将有助于

firebase.auth().onAuthStateChanged(function(user) { 
    if (user) { 
    // User is signed in. 
    var currentUserKey = firebaseAuth.currentUser.uid 
    } else { 
    // No user is signed in. 
    } 
}); 

欲了解更多详细信息,请参阅:Firebase Auth

相关问题