Managing Multiple Clients

Our situation: We have multiple customers, who each access their own dedicated instance of our application, with its own subdomain. Eg. customerA.domain.com, customerB.domain.com, etc. So each application instance is essentially single-tenant.

I’ve done a bunch of reading about how other customers try to handle this problem… some suggest using multiple Auth0 accounts - we would like to avoid that if possible because it seems clunky and tedious. Some suggest multiple Auth0 clients - that is the approach we would like to take. One Auth0 client per customer, each with its own connections.

The problem: how do other people manage multiple (single page javascript app) clients? Assuming we are using something like the webpack DefinePlugin (DefinePlugin | webpack) to hydrate the Auth0 Client ID at ‘compile’-time through an environment variable - does this mean we have to build a unique version of our frontend for each customer? That seems like it could get out of control quickly.

Does anyone have any ideas about this?

Here are some somewhat-related Auth0 community questions, none of which address this exact question:

http://community.auth0.com/questions/2712/proper-multi-tenant-set-up

http://community.auth0.com/questions/1639/what-is-the-better-way-to-implement-auth0-for-my-m

http://community.auth0.com/questions/5163/multitenant-app-with-multiple-sub-domains

http://community.auth0.com/questions/3609/segregate-users-per-client

For posterity - I ended up solving this by creating an endpoint on the backend API that serves the client ID easily configured in an environment variable. The frontend hits this endpoint and retrieves the client ID right before launching Auth0 Lock for login.