I’m currently trying to determine the architecture of my service. It’s a multi-tenant SaaS platform – overall we have two types of user: ones that sign up to us directly (let’s call them owners), and customers that sign up to each platform (customers).
I’ve begun the implementation by using two connections (External-Customers and Internal-Users), but I can see an issue arising where the same customer may conflict if they are registered on another platform using our system.
I was wondering whether it might make sense to create a connection for each tenant? That way there won’t be any chance of collisions happening. I found some articles that suggest only 50 connections can be used per client however we are using an API gateway to manage external auth – will the same limits apply here?
To give a very general overview of how things should work:
Internal users should register/login via Universal Login
Any other connection will register and authenticate via our API gateway.
Our docs describe setting up multi-tenant platform with seperate connections.
The connection limit is described as follows:
If you use Lock in your applications, Lock supports a maximum of 50 Database Connections per application. Enterprise Connections are not affected by this limit. If you use the New Universal Login Experience, Lock is not involved and this limitation therefore does not affect you.
Are you planning on using lock? If not, it looks like you should be okay. If you are, then you may want to consider an enterprise plan.
I actually followed that guide initially and currently I’m assigning each user a platform ID in app_metadata, with the two connections I mentioned earlier. We’re currently using Universal Login, so the limit should be ok! But I’ll bear that in mind, just in case we use Lock at some point.
So just to clarify, there wouldn’t be any drawbacks of having a connection for each platform?
Another question I had was if there is a way to have separate social accounts for each tenant? It looks like social logins exist outside of the database scope, and we can’t find a way to split these for each platform. Would that require a completely new auth0 tenant?
Are there any price guides for Enterprise plans anywhere by any chance?
I spoke to soon. We are rolling out entity limits for self-service accounts tomorrow
This includes connection limits for dev pro, dev, and free plans. Limits are stated here.
My guidance for enterprise plan pricing questions would be to submit your questions to our sales team. You can do that via the ‘talk to sales’ button in the nav bar.