Próbuję zbudować stronę internetową, która używa autoryzacji e-mail dla użytkowników. Jednak za każdym razem, gdy próbuję się zarejestrować lub zalogować użytkownika, uruchamia się funkcja firebase.auth(). OnAuthStateChanged, ale nie rozpoznaje, że użytkownik się zalogował lub zarejestrował. To jest mój obecny kod. Wiem, że to działa, ponieważ ostrzeże mnie: "Brak użytkownika!" po każdym logowaniu lub rejestracji i ponieważ mogę wejść do mojej konsoli Firebase i zobaczyć, że użytkownik się zarejestrował. Jeśli ktoś wie, jak to naprawić, byłbym wdzięczny!firebase.auth(). OnAuthStateChanged Nie działa
Dzięki!
Kod:
function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
alert("Signed in user!")
} else {
alert("No user!")
}
});
}
window.onload = function() {
initApp();
};
KOD do logowania & rejestracyjny:
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]
}
czy możesz umieścić więcej kodu ... ??? aby zrozumieć, jak i kiedy logujesz się i zaloguj – Ymmanuel
Dodałem go do pierwotnego pytania. Obie funkcje są uruchamiane za pomocą kliknięcia przycisku. – Collin
Wygląda na to, że jest to typowy problem bez odpowiedzi od teraz ...:/http://stackoverflow.com/questions/37504466/firebase-auth-createuserwithemailandpassword-undefined-is-not-a-function – Collin