Open
Description
Sometimes, there are multiple entries for the same service type in the catalog. Right now, the logic for picking endpoints is hidden in explicit interface implementations, so if an application inherited from our identity service and tried to override the logic, they would also need to copy a bit of code as well.
When identity is rewritten for the package split, evaluate how we can make this task easier.
Use Case:
The service catalog has multiple environments in the same catalog, such as staging and production, and the service entry contains distinguishing information in the name or other fields. The application should be able to override the identity service, or provide some helper function, to help the SDK pick the right service.