fix(auth): show "account already exists" on duplicate email signup (#4855)

* fix(auth): show "account already exists" on duplicate email signup

* fix(auth): use exact path match for duplicate-email signup check
This commit is contained in:
Waleed
2026-06-02 18:54:53 -07:00
committed by GitHub
parent 12db7da938
commit 1cb5a1653b
+16
View File
@@ -844,6 +844,22 @@ export const auth = betterAuth({
}
}
if (ctx.path === '/sign-up/email' && ctx.body?.email) {
const signupEmail = ctx.body.email.toLowerCase()
const [existingUser] = await db
.select({ id: schema.user.id })
.from(schema.user)
.where(eq(schema.user.email, signupEmail))
.limit(1)
if (existingUser) {
throw new APIError('UNPROCESSABLE_ENTITY', {
message: 'User already exists',
code: 'USER_ALREADY_EXISTS',
})
}
}
return
}),
},