feat: parametrize user claim identifiers using env vars and add user association service provider factory
This MR accomplishes the following
-
Introduces the ability to pass principal identifiers via environment variables. For invoking entitlements-svc APIs, this principal identifier is read from the environment variable
USER_ID_CLAIM_FOR_ENTITLEMENTS_SVCand for all others it is read fromUSER_ID_CLAIM_FOR_SDMS -
Provides an ability to obtain user-association-service-provider using a factory. Using typescript decorators and corresponding identifiers, user-association-svc-providers can now be extended. The runtime using the environment variable
USER_ASSOCIATION_SVC_PROVIDERcan instantiate the right provider. For instance, when the environment variableUSER_ASSOCIATION_SVC_PROVIDERis set toslb-ccm-internal, the associated implementation of the user-association-svc interaction can be used by the consumer.