StaticforWires the authentication provider into DI.
The app's compiled environment. Typed loosely on purpose: every app
declares its own environment shape (MJEnvironmentConfig and downstream equivalents
are interfaces, which TypeScript will not assign to an indexed record), so narrowing
this parameter would break every existing caller. It is narrowed once, below.
Optionalcatalog: PublicAuthProviderInfo[]Optional pre-auth provider catalog. Defaults to whatever the app preloaded
via AuthProviderCatalog.Preload in its bootstrap entry point — passing it
explicitly is for tests and for apps that source the catalog some other way. Callers
must NOT pass AuthProviderCatalog.GetPreloaded() themselves: Angular's compiler
requires every imports entry to be statically analyzable, and a function call in
the argument list fails AOT with "Value could not be determined statically".
When the catalog is empty — an older server, a failed fetch, or a deployment that
never adopted the entity — resolution falls back to `environment.AUTH_TYPE` and
behaviour is byte-for-byte what it was before the catalog existed, which is what
keeps every existing deployment working untouched.
Extensible authentication module that supports N providers Uses MJGlobal ClassFactory pattern for dynamic provider creation