firebase - फायरबेस पुष्टि ईमेल नहीं भेजा जा रहा है




firebase-authentication (3)

मैंने सफलतापूर्वक Firebase ईमेल / पासवर्ड प्रमाणीकरण की स्थापना की है, लेकिन सुरक्षा कारणों से मैं चाहता हूं कि उपयोगकर्ता उसके ईमेल की पुष्टि करें। यह Firebases वेबसाइट पर कहते हैं:

जब कोई उपयोगकर्ता ईमेल पते और पासवर्ड का उपयोग करता है, तो उनके ईमेल पते को सत्यापित करने के लिए एक पुष्टिकरण ईमेल भेजा जाता है।

लेकिन जब मैं साइन अप करता हूं, मुझे एक पुष्टिकरण ईमेल प्राप्त नहीं होता है।

मैंने देखा है और केवल पासवर्ड रीसेट ईमेल भेजने के लिए एक कोड पा सकता हूं, लेकिन ईमेल पुष्टि भेजने के लिए कोड नहीं।

मैंने यहाँ देखा है:

https://firebase.google.com/docs/auth/ios/manage-users#send_a_password_reset_email

किसी को भी इस बारे में कोई सुराग मिला कि मैं इसे कैसे कर सकता हूं?


आप सत्यापन ईमेल भेज सकते हैं और जाँच सकते हैं कि क्या सत्यापनकर्ता में पालन किया गया था:

mAuthListener = new FirebaseAuth.AuthStateListener() {
        @Override
        public void onAuthStateChanged(@NonNull FirebaseAuth firebaseAuth) {
            FirebaseUser user = firebaseAuth.getCurrentUser();

            if (user != null) {

//---- HERE YOU CHECK IF EMAIL IS VERIFIED

                if (user.isEmailVerified()) {
                    Toast.makeText(LoginActivity.this,"You are in =)",Toast.LENGTH_LONG).show();
                } 

                else {

//---- HERE YOU SEND THE EMAIL

                    user.sendEmailVerification();
                    Toast.makeText(LoginActivity.this,"Check your email first...",Toast.LENGTH_LONG).show();
                }

            } else {
                // User is signed out
                Log.d(TAG, "onAuthStateChanged:signed_out");
            }
            // [START_EXCLUDE]
            updateUI(user);
            // [END_EXCLUDE]
        }
    };

उपयोगकर्ता बनाने के बाद एक उपयोगकर्ता ऑब्जेक्ट लौटाया जाता है, जहां आप जांच सकते हैं कि उपयोगकर्ता का ईमेल सत्यापित किया गया है या नहीं।

जब एक उपयोगकर्ता सत्यापित नहीं किया गया है तो आप स्वयं उपयोगकर्ता ऑब्जेक्ट पर SendEmailVerification विधि को ट्रिगर कर सकते हैं।

firebase.auth()
    .createUserWithEmailAndPassword(email, password)
    .then(function(user){
      if(user && user.emailVerified === false){
        user.sendEmailVerification().then(function(){
          console.log("email verification sent to user");
        });
      }
    }).catch(function(error) {
      // Handle Errors here.
      var errorCode = error.code;
      var errorMessage = error.message;

      console.log(errorCode, errorMessage);
    });

आप AuthState को सुनकर यह भी देख सकते हैं कि निम्न विधि के साथ समस्या यह है कि प्रत्येक नए सत्र (पृष्ठ को ताज़ा करके) के साथ, एक नया ईमेल भेजा जाता है।

firebase.auth().onAuthStateChanged(function(user) {
  user.sendEmailVerification(); 
});

यदि आप "com.google.firebase: firebase-Cort: 9.2.0" संकलन का उपयोग कर रहे हैं और 'com.google.firebase: firebase-core: 9.2.0' संकलित करें विधि sendEmailVerification () को तब तक हल नहीं किया जाएगा जब तक आप अपडेट नहीं करते। से 9.8.0 या अधिक है। इससे पहले कि मैं यह पता लगाने से पहले यह समय बर्बाद कर दिया।





firebase-authentication