Short answer
Reauthenticate with the signed-in user’s own account: build email credentials from currentUser.email, and pass login_hint to the Google popup so the right account is picked. Show a clear message asking for the same account, and retry. If the account was deleted, sign the user out.
Rather not fix it yourself? App Fix Ticket starts with a fixed-price diagnosis, then a fixed price for the fix before any fix work.
Why the accounts don’t match, and the fix
01
The user picked another Google account
“The supplied credentials do not correspond to the previously signed in user.” Firebase JS SDK, Firebase JS SDK auth errors (user-mismatch)
The popup shows every Google account in the browser, and the user chose a different one. Pre-select the current one with login_hint and say which account to use.
import { getAuth, GoogleAuthProvider, reauthenticateWithPopup } from 'firebase/auth'; const auth = getAuth(); const provider = new GoogleAuthProvider(); provider.setCustomParameters({ login_hint: auth.currentUser.email }); await reauthenticateWithPopup(auth.currentUser, provider);02
The reauth form takes a typed email
“When this happens, re-authenticate the user by getting new sign-in credentials from the user and passing the credentials to reauthenticateWithCredential.” Firebase, Manage users (re-authenticate a user)
A form that asks for both email and password lets the user type another account. Fill the email from currentUser.email, lock the field, and ask only for the password.
import { EmailAuthProvider, reauthenticateWithCredential } from 'firebase/auth'; const user = auth.currentUser; const credential = EmailAuthProvider.credential(user.email, password); await reauthenticateWithCredential(user, credential);03
The account was deleted
If the user was deleted in the console or by an admin script, the SDK turns the user-not-found result into this same code. Sign the user out and send them to sign-up or sign-in.
04
The sensitive action ran anyway
Also check: the failed reauthentication leaves the old session in place. Run the delete, email change or password change only after reauthentication succeeds.
Checked against the vendor’s docs on : Firebase docs: Manage users (re-authenticate a user); Firebase JS SDK source: auth errors; Firebase JS SDK source: reauthenticate.ts.
Rather hand it over?
Fixed scope, fixed price, paid upfront. The work happens in writing; no call needed.
- from $450App Fix TicketOne reproducible bug in an existing mobile or web app, diagnosed and fixed.See scope and start
- from $450AI-Built App RescueA Lovable, Bolt or Cursor app checked end to end in 3 days, then its worst problems fixed at a fixed price.No issues worth fixing, no charge. If the Launch Check finds nothing rated medium or higher, Simon refunds the full $450. You keep the report either way. This applies to the first 10 Launch Checks bought after October 30, 2026.See scope and start
“Very responsive, attentive to fixing bugs, and completed the project as needed! Thank you!”
Related: Firebase auth/requires-recent-login · Firebase auth/multi-factor-auth-required · Firebase auth/credential-already-in-use · Firebase user-token-expired