angular - Firebase 5.8^skicka e-postverifiering


Jag försöker få firebase att skapa en användare via e-post och skicka verifieringsmejlet. Jag tror att det har ändrats i version 5+

Jag verkar inte få det att fungera.

Kan någon hjälpa till att förklara var jag gör fel?

Följande felmeddelande får jag hela tiden

TypeError: user.sendEmailVerification är inte en funktion

Det här är min TS-fil.

onSubmit(form: NgForm) {

const fullname = form.value.fullname;
const email = form.value.email;
const password = form.value.password;


firebase.auth().createUserWithEmailAndPassword(email, password)
.then(function(user) {
    user.sendEmailVerification();
})
.then(function () {
    console.log('User signup success');
    alert('Signed Up');
})
.catch(function (err) {
    console.log(err);
    alert('Error!');
});

Svar #1

I slutändan fann jag denna lösning.

firebase.auth().createUserWithEmailAndPassword(email, password)
    .then(userData => {
        userData.user.sendEmailVerification();
            console.log(userData);
    })
    .catch(err => {
        console.log(err);
    });

Svar #2

I Firebase 9 finns det en separat metod

import { sendEmailVerification } from "firebase/auth"; 

Exempel :

       sendEmailVerification(auth.currentUser)
           .then(() => {
               // Your code is here            
           })
           .catch((error) => {
               console.log('Email verification error', error);
           });

Relaterade artiklar