My LMS has three kinds of users: super admins, vendors, and clients. I need someone to use the same email address on the client side even if that email is already associated with an account on the vendor side. However, Better Auth stores email addresses in a shared user table and treats them as unique, so creating a second user with the same email is not possible. What is the recommended way to model this?
2 Answers
This is better handled with role-based access control. Keep one user record for each person, then assign multiple roles such as vendor and client. The same account can act differently depending on the active role or the part of the application they are using. A roles table or user-roles join table is usually more flexible than duplicating the user.
Treat this as an identity and data-modeling issue rather than an authentication limitation. An email should normally identify one user, while permissions and memberships determine what that user can access. For a simple setup, add roles or permissions to the user, such as ["vendor", "client"]. If vendors and clients represent separate workspaces or tenants, use Better Auth's organization or multi-tenant features and let the same user belong to multiple organizations with different permissions. Duplicate user records can create problems with password resets, OAuth accounts, and sessions later on.

Related Questions
How To: Running Codex CLI on Windows with Azure OpenAI
Set Wordpress Featured Image Using Javascript
How To Fix PHP Random Being The Same
Why no WebP Support with Wordpress
Replace Wordpress Cron With Linux Cron
Customize Yoast Canonical URL Programmatically