The provider to wire into Angular DI for this page load. Null when the catalog is
empty, in which case the caller falls back to environment.AUTH_TYPE.
True when the previous page load persisted a selection and asked for the login flow to
start immediately. The surface should consume this once and call login().
Every provider the user may choose from. Empty or single-entry lists mean the picker should not render — one provider is not a choice.
True when the picker should be shown (2+ providers available).
How the app should bootstrap authentication, derived from the catalog plus any prior user selection.