StaticBuildBuilds the catalog URL. With a configured MJAPI URL (MJAPI_URI, MJ #5674) the catalog is
<MJAPI URL>/auth/providers. Without one it keeps the pre-#5674 behaviour: /auth/providers at the
GraphQL endpoint's origin. The catalog is served by the same MJServer instance, mounted ahead of the
auth middleware.
OptionalmjapiUri: stringStaticClearForgets the persisted choice so the next load resolves the default again.
StaticFetchFetches the public provider catalog.
Never throws and never rejects: a deployment whose server predates this endpoint, or
whose network is briefly unavailable, must still reach its login screen through the
compiled AUTH_TYPE path. Failure is reported as an empty list.
OptionalmjapiUri: stringStaticGetThe catalog stored by Preload; empty when preloading never ran or found nothing.
StaticGetThe provider name persisted by a previous picker choice, if any.
StaticPreloadFetches the catalog and stores it for GetPreloaded. Call this from the app's bootstrap entry point BEFORE the root module is imported.
OptionaltimeoutMs: numberOptionalmjapiUri: stringStaticResolveDecides which provider this page load should bootstrap with.
Precedence: the user's persisted choice, then the row flagged IsDefault, then the
first by sequence. A persisted choice that no longer exists in the catalog (the admin
disabled it) is discarded rather than honoured, so a removed provider cannot strand a
returning user on a login screen that can never succeed.
StaticSelectRecords the user's picker choice and reports whether the page must reload to apply it.
A reload is required whenever the chosen provider differs from the one already wired
into DI: each browser SDK contributes Angular providers (interceptors, guards, config
tokens) at module-definition time, so switching providers cannot be done in a live
injector. Choosing the provider that is already active needs no reload — the caller
simply calls login().
Fetches, caches, and resolves the public authentication-provider catalog.
All members are static: this runs before the Angular injector exists.