2016-11-12 11 views
0

Firebaseを初めて使用しています。これは基本的に思われる場合はごめんなさい。Firebase機能で無効なメールが許可されています

ユーザーを登録するコードセグメントを書きました。そして、それだけですが、私は存在しない電子メールを記入することができます。

これは完全なコードではありません、この

window.createUser = function (email, password) { 
firebase.auth().createUserWithEmailAndPassword(email, password).then(function() { 
    location.reload(); 
}).catch(function (error) { 
    if (document.getElementById("lemail").value == "" && document.getElementById("lpassword").value == "") { 
     $("#lalert").html("<strong>Oh no! </strong> Looks like the email or password inputs are not filled out!"); 
     $("#lalert").show(); 

    } else { 

     $("#lalert").html("<strong>Oh no! </strong>" + aTranslate(error.code)); 
     $("#lalert").show(); 
    } 
    }); 
} 

aTranslate()する責任があるだけの関数はエラーコードを取得した場合はカスタマイズされたメッセージ

答えて

0

にそれを変更する機能です存在しない電子メールは実際ではなく、構成されていない電子メールであるため、Firebase認証では電子メールが合法であるかどうかを確認しません。有効な電子メールかどうかは、自分でテストする必要があります。

+1

あなた自身でメールをテストする必要はありません。 Firebase APIには、['emailVerified'](https://firebase.google.com/docs/reference/js/firebase.User#emailVerified)プロパティと[sendEmailVerification](https://firebase.google.com/ docs/reference/js/firebase.User#sendEmailVerification)これを管理する関数です。だからあなたはそれを*完全に*自分で行う必要はありません。 – cartant

+0

私は別の(そしてより完全な)答えを@cartantと考えています。 :-) –

+0

電子メールが正当であるかどうかを確認するにはどうすればよいですか? – HunchoDevelo

0

私は最近、同じことに取り組んでいました。これを行うには、errorCodesとエラーメッセージを処理する必要があります。あなたは、firebaseユーザーが存在するかどうかを確認するために、このようなものを用意する必要があります。それぞれのエラーコードを確認することで、偽のアカウントや、アプリケーションの使用を無効にしたユーザーは避けられます。

  var errorCode = error.code; 
     var errorMessage = error.message; 
     if (errorCode === 'auth/wrong-password' || errorCode === 'auth/invalid-email' || errorCode === 'auth/user-disabled' || errorCode === 'auth/user-not-found') { 
      window.alert(errorMessage); 
     } 

JQueryに変更したい場合は、これは完全にJSです。お役に立てれば!