Quando si cerca di controllare se un utente è firmato in via firebase.auth().currentUser
come questo:Non è possibile ottenere currentUser sul carico
if (firebase.auth().currentUser === null) {
console.log('User not signed in');
}
Ogni volta che aggiorna la pagina, o navigare intorno al rendimenti superiori NULL (anche se ho appena effettuato il login).
La cosa strana è che, se accedo
console.log(firebase.auth().currentUser) // This returns null
console.log(firebase.auth()) // Here I can inspect the object and currentUser exists...!
io non so davvero cosa sta succedendo qui. Sto usando React e Redux, ma non dovrebbe davvero importare direi.
C'è un piccolo ritardo in cui il firebase si inizializza e non è possibile accedere a currentUser? In tal caso, come posso vederlo nell'output di registro di firebase.auth()
?
Questo è a ricevere la notifica una modifica dello stato di autenticazione, non mi fornisce un modo per verificare se un utente è autorizzato in qualsiasi momento – Chris
In realtà questo si attiverà sempre quando viene determinato lo stato iniziale. Successivamente si innescherà quando lo stato di auth cambia. È il modo consigliato per rilevare lo stato di autenticazione iniziale. È possibile rimuoverlo dopo aver determinato lo stato iniziale. var unsubscribe = auth1.onAuthStateChanged (funzione (utente) {// fa init e poi annulla l'iscrizione; unsubscribe();}); – bojeil