How to implement business logic similar to basecamp.com?

This is a Vue.js(nuxt) SPA with a Node REST API backend.

The business need almost matches basecamp.com exactly, so if you’re familiar with that structure, it would help.

  • A single user signs up (with or without password). This will create a new organization. This person will thereby the “owner” of the organization. The creation of an organization & owner should be the only availability for a “sign up” option.
  • We collect information about the organization during the sign up process (Org name, etc).
  • Any subsequent users will need to be invited via email by the “owner”. That invitation email will only be for the specific organization.
  • A user can have many organizations and an organization can have many users
  • An organization can only have one owner
  • In case a user has more than one organization, it’s been decided so that when the user logs in, they’ll be presented with a screen to ask which organization they want to log in to.
  • Social login isn’t a requirement right now, but I’d like to have the ability to add that later.

I’m not sure where to start, so I’m looking for guidance on Auth0 tools to use. I’ve read several articles, but I’m still left with questions. This article was close, but I want the owner to be able to initially sign up on their own.

I’d prefer to use as much as Auth0’s UI as possible (sign up/login screen/password resets, etc), but if I need to consume their API to fulfill my requirements, I can do that. Thanks.