In our application a customer (account) can install an instance of our Windows service on 1 or more machines. Each instance of the service needs to authenticate and communicate with our API. How best to do this with Auth0? 1 client-per instance of the service?
In general, the Windows Service would be represented as a single client application no matter how many instances of the services would be actually installed. In particular, if this a third-party scenario where you relinquish the possession of client credentials to a third-party it does not seem worthwhile to give them more than one because they could always try to bypass the individual credentials per instance and just use one.
Was there any scenario you were considering that made you think individual credentials per installation would be a better model? The reason I ask is because most of the times understanding the underlying problem first is much more efficient than just discussing a possible solution without context.
That makes sense. No reason to have > 1 client per customer.
The scenario is a third-party scenario as you describe. We need do need to relinquish credentials to each customer. So what about 1 client per customer? Customer A’s instance of the service shouldn’t be able to read Customer B’s data. So Customer A would need a separate client so they would have different client credentials. Is it okay to create 1 auth0 client per customer or is there a limit on clients?
The one client per customer seems to make sense as then you could have different authorization policies based on the client application. At this time, I don’t believe there is a hard limit on the number of clients and I would say that if a limit is put in place it will be more to prevent incorrect usage by default and would likely be flexible if you present a valid use case which I would say is your case.