the coder
the coder

Reputation: 420

How to verify an email in firebase auth in flutter?

I've created a login screen using firebase & flutter and Everything is going okay but I want the user to sign in with a real email (verified) not any email.

if the user clicks signs in button with an email like that : [email protected], it will accept this email.

how to verify that the email isn't fake and actually belong to a real address.

Upvotes: 1

Views: 6814

Answers (2)

dmuensterer
dmuensterer

Reputation: 1885

In order to really verify the users e-mail address you need to send a verification mail which requires action from the user.

Only checking if the address exists is insufficient as the e-mail address could belong to anyone.

You can set up a mail template in your Firebase Console and use the following code to send the verification mail.

FirebaseUser user = await _firebaseAuth.createUserWithEmailAndPassword(email: email, password: password);
     try {
        await user.sendEmailVerification();
        return user.uid;
     } catch (e) {
        print("An error occured while trying to send email        verification");
        print(e.message);
     }
   }

Upvotes: 6

WarVic
WarVic

Reputation: 13

String email = "[email protected]";
try {
  String link = FirebaseAuth.getInstance().generateSignInWithEmailLink(
      email, actionCodeSettings);
  // Construct email verification template, embed the link and send
  // using custom SMTP server.
  sendCustomPasswordResetEmail(email, displayName, link);
} catch (FirebaseAuthException e) {
  System.out.println("Error generating email link: " + e.getMessage());
}

Please refer Below link for more info: https://firebase.google.com/docs/auth/admin/email-action-links

Upvotes: 0

Related Questions