如何获取已登录的当前用户密钥。我尝试过这种方式。
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的日志时,我得到了这个东西:
答案 0 :(得分: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