Add conditional for login flows; filter out SSO when no providers configured.

Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
Jason Volk
2026-01-03 04:51:39 +00:00
parent 11038b0ec7
commit bd0a0acf4a
4 changed files with 74 additions and 26 deletions

View File

@@ -2139,6 +2139,23 @@ pub struct Config {
#[serde(default = "default_one_time_key_limit")]
pub one_time_key_limit: usize,
/// Setting this option to true replaces the list of identity providers on
/// the client's login screen with a single button "Sign in with single
/// sign-on" linking to the URL `/_matrix/client/v3/login/sso/redirect`. The
/// deployment is expected to intercept this URL with their reverse-proxy to
/// provide a custom webpage listing providers; each entry linking or
/// redirecting back to one of the configured identity providers at
/// /_matrix/client/v3/login/sso/redirect/<client_id>`.
///
/// This option defaults to false, allowing the client to generate the list
/// of providers or hide all SSO-related options when none configured.
#[serde(default)]
pub sso_custom_providers_page: bool,
/// Under development; do not enable.
#[serde(default)]
pub sso_aware_preferred: bool,
// external structure; separate section
#[serde(default)]
pub blurhashing: BlurhashConfig,
@@ -2159,9 +2176,6 @@ pub struct Config {
#[serde(default)]
pub identity_provider: HashSet<IdentityProvider>,
#[serde(default)]
pub sso_aware_preferred: bool,
#[serde(flatten)]
#[allow(clippy::zero_sized_map_values)]
// this is a catchall, the map shouldn't be zero at runtime