Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

362
Views
How to verify email in firebase auth?

I am using expo client for my app. When I send the email, the verification immediately fails. When I go to the email and verify it, the verification still doesn't work. This is my function:

firebase.auth().createUserWithEmailAndPassword(emailID, password)
    .then(async ({
        user
    }) => {
        //console.log(this.state)
        await user.sendEmailVerification().then(async () => {
            user = await firebase.auth().currentUser;

            await user.reload();

            user = await firebase.auth().currentUser;
            if (user.emailVerified) {
                db.collection("Users").add({
                    'firstName': this.state.firstName,
                    'lastName': this.state.lastName,
                    'contact': this.state.contact,
                    'emailID': this.state.emailID,
                    'password': this.state.password,
                    'description': '',
                    'profilePicture': ''
                })
                return alert('Account has been created. You can now login.');
            } else {
                return alert('Failed to verify email!')
            }
        })
    })
    .catch((error) => {
        // Handle Errors here.
        var errorCode = error.code;
        var errorMessage = error.message;
        return alert(errorMessage);
    });

Can anyone please provide me a solution for this? Thanks,

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

The code in your inner then block looks good, but it runs only once: immediately after you sent the verification email.

When you call sendEmailVerification that merely sends the email. Only once you click the link in that email will the email address on the profile be set to verify.

So you will need to re-sign in, or call user.reload(), after clicking the link in order to get the profile with the updated verification status. This means you'll typically run the code that you have in then then block:

  • When the app regains the focus, as often the user needs to toggle to another app to click the verification link, so when the app regains focus is a good moment to check the verification status again.
  • Tell the user to click a button to recheck the verification status.
  • Periodically (say every few second) run the check.

You can pick one of these, but also use any combination of them to ensure the verification status gets picked up quickly in your app.

about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!