1

如何抓取已登錄的用戶?我在做: console.log('Logging in ...'); this.afAuth.auth.signInWithEmailAndPassword(this.email,this.password);在AngularFireAuth中抓取當前用戶

但文檔不清楚如何讓代碼中的用戶。他們在模板中顯示一種方式,但我需要存儲當前用戶。

回答

1

要獲取當前用戶:

let user = AngularFireAuth.auth.currentUser; 
// returns user object 

出於某種原因,每個頁面刷新導致currentUser消失,我存儲在本地存儲的用戶ID(UID),所以我能夠記住用戶和參考後來公司的FireStore:

localStorage.setItem('userUID', user.uid); 
// ... 
let userID = localStorage.getItem('userUID'); 
AngularFirestore.firestore.collection('users') 
     .doc(userID) 
     // ... 

在註銷您只需註銷用戶,並刪除本地存儲值:

logout() { 
    AngularFireAuth.auth.signOut().then(() => { 
     localStorage.removeItem('userUID'); 
    }; 
} 
0

我想通了!

console.log('Logging in...'); 
this.afAuth.auth.signInWithEmailAndPassword(this.email, this.password).then((user) => { 
    this.user = this.afAuth.authState; 
});