1

Comment puis-je récupérer l'utilisateur connecté?Saisir l'utilisateur actuel dans AngularFireAuth

Je suis en train de faire ceci: console.log ('Logging in ...'); this.afAuth.auth.signInWithEmailAndPassword (this.email, this.password);

Mais les docs ne sont pas claires sur la façon d'obtenir l'utilisateur dans le code. Ils montrent un chemin dans le modèle mais j'ai besoin de stocker l'utilisateur actuel.

Répondre

1

Pour obtenir l'utilisateur actuel:

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

Pour une raison quelconque chaque actualisation de la page provoque currentUser disparaître et je stocker l'ID utilisateur (UID) dans le stockage local, donc je suis en mesure de se rappeler l'utilisateur et référence à Firestore plus tard:

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

Sur logout vous simplement utilisateur et supprimer déconnectez valeur de stockage local:

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

Je l'ai compris!

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