Ich versuche, eine Website zu erstellen, die E-Mail-Authentifizierung für Benutzer verwendet. Jedes Mal, wenn ich versuche, einen Benutzer anzumelden oder sich anzumelden, wird die Funktion firebase.auth(). OnAuthStateChanged ausgelöst, erkennt jedoch nicht, dass sich ein Benutzer angemeldet oder angemeldet hat. Dies ist mein aktueller Code. Ich weiß, dass es funktioniert, weil es mich alarmiert, "Kein Benutzer!" nach jedem Einloggen oder Anmelden und weil ich in meine Firebase-Konsole gehen kann und sehe, dass der Benutzer sich angemeldet hat. Wenn jemand weiß, wie das zu beheben ist, würde ich es begrüßen!Firebase.auth(). OnAuthStateChanged funktioniert nicht
Danke!
Code:
function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
alert("Signed in user!")
} else {
alert("No user!")
}
});
}
window.onload = function() {
initApp();
};
CODE FÜR LOGIN & SIGNUP:
function toggleSignIn() {
if (firebase.auth().currentUser) {
alert("Sign out")
firebase.auth().signOut();
// [END signout]
} else {
var email = document.getElementById('email').value;
var password = document.getElementById('pass').value;
if (email.length < 4) {
alert('Please enter an email address.');
return;
}
if (password.length < 4) {
alert('Please enter a password.');
return;
}
// Sign in with email and pass.
// [START authwithemail]
firebase.auth().signInWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode === 'auth/wrong-password') {
alert('Wrong password.');
} else {
console.error(error);
}
// [END_EXCLUDE]
});
// [END authwithemail]
}
}
function handleSignUp() {
var email = document.getElementById('semail').value;
var password = document.getElementById('spass').value;
if (password.length < 6) {
alert('Password must be 6 characters or more!');
return;
}
// Sign in with email and pass.
// [START createwithemail]
firebase.auth().createUserWithEmailAndPassword(email, password).catch(function(error) {
// Handle Errors here.
var errorCode = error.code;
var errorMessage = error.message;
// [START_EXCLUDE]
if (errorCode == 'auth/weak-password') {
alert('The password is too weak.');
} else {
console.error(error);
}
// [END_EXCLUDE]
});
// [END createwithemail]
}
können Sie mehr von Ihrem Code ... ??? Um zu verstehen, wie und wann Sie die Anmeldung vornehmen und sich anmelden – Ymmanuel
Ich habe es zur ursprünglichen Frage hinzugefügt. Beide Funktionen werden durch Knopfklicks ausgelöst. – Collin
Es scheint, dies ist ein häufiges Problem mit keiner Antwort ab sofort ...:/http://stackoverflow.com/questions/37504466/firebase-auth-createuserwithemailpassword-undefined-is-not-a-funktion – Collin