I'm building a saas app that I want to allow white labeling on certain plans. The paying user would be able to use a custom domain.
I also want to allow users to have multiple accounts on this platform. Like Basecamp or Asana where you log in and see a list of accounts you're a part of.
If I use their email address as the unique login, it's fine for user to see multiple non-white-label accounts when they log in.
But if the user is then invited to an account that is a white label account, they wouldn't be able to register since their email is already in our system. This would confuse them since they're thinking this is a completely different website than the main site because it's white labeled.
I can't say "this email is in our system already" or even "use the forgot password flow", since those things would "reveal" the white label aspect.
How can I handle this?
I could require a unique email address for each account. Ie, not allow multiple accounts for users. But that's a pain for people who want to use a single email to log in to all the accounts. But that's probably the simplest solution.
I could use a username as the unique login, but that seems more complicated than it needs to be. Ie users with multiple logins that have the same email but different user names.
I'll add that it will be rare that a user would have multiple accounts, but it could happen and I'm just trying to cover all potential scenarios. Maybe the simplest way to go is to just say: one email/user = 1 account. And if you want to join another, you have to use another email address.
Any advice? Thank you!