Back to Learning CenterEmail Authentication

Firebase authentication email verification

By Samuel ChenardAugust 12, 20265 min read
Firebase authentication email verification

Firebase Authentication email verification is an account-management action for a signed-in user. Firebase can send that user an address-verification email, and the user record exposes an emailVerified state. This differs from signing in with an email and password or with an email link. A verified Firebase address also does not establish whether an outgoing message passed SPF, DKIM, or DMARC.

At a glance

Quick takeaways

  • Firebase documents sendEmailVerification for the current signed-in user.
  • The user profile includes an emailVerified property.
  • Email-link sign-in verifies the address when that documented flow completes.
  • Email/password uses a separate password credential flow.
  • Sender-domain authentication and Firebase user verification answer different questions.

What Firebase email verification does

Firebase's Manage Users documentation shows sendEmailVerification for auth.currentUser. In the same Web documentation, the current user's profile includes the emailVerified property. Those details describe a user-account state and the action that begins verification. They do not document inbox delivery timing, a Firebase Console path, or an application's own policy for what it permits before the user completes verification.

Technical exampletext
Current signed-in Firebase user
  -> sendEmailVerification
  -> user completes the verification link
  -> inspect emailVerified in the user profile

If you are building the flow, use Firebase's current platform documentation for the actual SDK call and the point at which your application refreshes or reads the user state. This article only clarifies which Firebase task the email relates to.

How verification differs from Firebase email sign-in

Firebase email/password authentication is a provider and credential flow: the user signs in with an email address and password. Firebase's Email Link documentation describes a different passwordless flow that completes sign-in through a received link. Firebase states that this completed Email Link flow also verifies the email address.

That qualification matters. Email Link can include address verification as part of its documented completed sign-in flow. Sending a verification email is the separate action to use when the question is whether an existing signed-in user's address has been verified. For the broader choice between the two sign-in methods, see Firebase authentication email.

Choose the right Firebase email task

Use this decision flow to identify the Firebase action that matches the user state before treating any email message as evidence of verification.

Decision flow separating password credentials, email-link sign-in, and verification for an existing signed-in Firebase user.
Source: Original Palisade decision flow summarizing Firebase's Manage Users documentation, Email Link documentation, and email/password documentation. It is a conceptual summary, not a Firebase interface or project-specific configuration. Open the full-size decision flow.

The flow is deliberately narrow: it does not show Firebase Console settings, template options, inbox delivery, or any sender-domain authentication result.

Check the state without mixing tasks

1. Identify the user's starting state

Ask whether the person is signing in with a password, completing an Email Link sign-in, or already signed in and waiting to verify an address. These are different Firebase tasks even though all can involve an email address.

2. Use the matching Firebase flow

Use the Email/Password or Email Link flow when the question is how the user signs in. Use the account-management verification action when the question concerns the existing user's email-verified state. Follow the current Firebase documentation for the platform your application uses.

3. Read the verification state in the user context

After the documented verification flow completes, evaluate emailVerified in the application's Firebase user context. Do not use the existence of a sent message as proof that the user completed the link or that the application has refreshed its state.

Keep sender authentication separate

SPF evaluates whether a host is authorized to use a domain in mail sending. DKIM uses a cryptographic signature to associate a responsible signing domain with a message. DMARC uses SPF or DKIM results and identifier alignment for the visible From domain. Firebase's documentation instead describes verification as a state on an application user. It follows that a sender-domain check cannot prove that a Firebase user completed verification, and a verified Firebase user cannot prove a message passed sender-domain authentication. See what email authentication is and why it matters for the sender-domain question.

An email authentication checker can inspect published domain evidence, but it cannot inspect a Firebase user's emailVerified state, a private inbox, or a completed application flow. Use Firebase's documentation and your application's own authorized user-state checks for those questions.

Evidence

Sources and further reading

Questions readers ask

Frequently asked questions

Find the authentication issues behind your delivery problem

Start in Palisade.

Get started

Share this article

Samuel Chenard

Written by

Samuel Chenard

CEO & Co-Founder, Palisade

Samuel Chenard is the CEO and co-founder of Palisade, AI-first DMARC software for IT teams and MSPs, from one domain to thousands.

More from Samuel

Related articles