Unable to update user email

Open
#1,289 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
4/5
Estimated time
3-5 days
Newbie friendliness
42/100
Issue type
Bug
Clarity
Mostly clear
Activity status
Stale
Tech stack
go

Research direction

Start by reproducing the failure through supabase.auth.updateUser({ email: emailToVerify }) after an unconfirmed email change, using the duplicate identities_pkey error as the signal. Trace the email-change handling and identity constraint path; done means a pending email can be replaced with a different value without requiring confirmation of the original address.

Written by the indexing model from the issue text.

Description

auth bug

Bug report

  • [ x] I confirm this is a bug with Supabase, not with my own application.
  • [x ] I confirm I have searched the Docs, GitHub Discussions, and Discord.

Describe the bug

Unable to update a user's email if they have an outstanding email change request already.

To Reproduce

Steps to reproduce the behavior, please provide code snippets or a repository:

  1. Create a user using a provider other than email (i.e. signInWithOtp())
  2. Add an email to the same user using "supabase.auth.updateUser({ email: emailToVerify })"
  3. Before confirming this email, attempt the change the email of this user by calling again "supabase.auth.updateUser({ email: emailToVerify })" but with a different value of emailToVerify
  4. Will get an error "duplicate key value violates unique constraint 'identities_pkey'"

Expected behavior

If a user accidentally enters an incorrect email on their first attempt, they will want to update to the correct email. But there is no way to change the email unless the original email entered is confirmed, which may be impossible if the user made a typo. Therefore if a user enters an incorrect email on their first attempt, the only way to resolve the issue is through an admin account.

Screenshots

If applicable, add screenshots to help explain your problem.

System information

  • OS: macOS
  • Version of supabase-js: 2.25

Additional context

Add any other context about the problem here.

Dominant language
Go
Stars
2.6k
Forks
764
Avg merge
5d 3h
Merged PRs (30d)
39

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

More from supabase/auth

All issues in supabase/auth

Similar issues

More Go issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.