Kullanıcılar için e-posta auth kullanan bir web sitesi oluşturmaya çalışıyorum. Ancak, bir kullanıcı oturum açmaya veya bir kullanıcı oturumu açmaya çalıştığımda, firebase.auth(). OnAuthStateChanged işlevi tetiklenir, ancak bir kullanıcının giriş yaptığını veya kaydolduğunu fark etmez. Bu benim mevcut kodum. Çalıştığını biliyorum çünkü beni uyaracak "Kullanıcı yok!" Her girişten sonra veya kayıt olduktan sonra Firebase konsoluma gidebilir ve kullanıcının kaydolduklarını görebiliyorum. Bunu nasıl düzelteceğini bilen varsa, bunu takdir ediyorum!firebase.auth(). OnAuthStateChanged Not
Teşekkürler!
Kodu: GİRİŞ & kayıt için
function initApp() {
firebase.auth().onAuthStateChanged(function(user) {
if (user) {
alert("Signed in user!")
} else {
alert("No user!")
}
});
}
window.onload = function() {
initApp();
};
KODU:
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]
}
Kodunuzun daha fazlasını koyabilirsiniz ... ??? Nasıl ve ne zaman giriş yaptığınızı anlamak ve – Ymmanuel
oturum açmak için özgün soruya ekledim. Her iki işlev de düğme tıklamaları ile tetiklenir. – Collin
Görünüşe göre bu, şu anki cevapsız bir sorundur:/http://stackoverflow.com/questions/37504466/firebase-auth-createuserwithemailandpassword-undefined-is-not-a-function – Collin