fix change-password page visibility logic
Created by: sqs
Previously, the logic for whether to show the change-password page was wrong. It also did not have the correct values in the condition context to determine whether to show it.
So, this commit exposes authProviders to all viewers in GraphQL, and makes them available in siteFlags to UI components. This is OK because the AuthProvider GraphQL type only exposes the same information about auth providers that users could see if they logged into them (e.g., the client ID, which is by definition a non-secret value).
A more limited set of authProvider info was already made available on window.context
to construct the sign-in page on instances with multiple auth providers and auth.public == false
. It is not possible to make that use the GraphQL authProviders result because viewers of that page are not yet authenticated and are therefore prevented from accessing the GraphQL API entirely. It may be possible for the UserAccountPasswordPage to use those window.context values, but it instead uses them from GraphQL to avoid more dependencies on window.context values (which operate outside of the React data flow model).
fix https://github.com/sourcegraph/enterprise/issues/12077
This PR updates the CHANGELOG.md file to describe any user-facing changes.