From 9b14ab4c0b20486725319d0c7a70987edf18732c Mon Sep 17 00:00:00 2001 From: Ginger Date: Fri, 10 Jul 2026 12:20:22 -0400 Subject: [PATCH] fix: Parse OIDC discovery URL more leniently --- src/core/config/mod.rs | 2 +- src/service/oidc/mod.rs | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/core/config/mod.rs b/src/core/config/mod.rs index f31a33f37..cc2189a42 100644 --- a/src/core/config/mod.rs +++ b/src/core/config/mod.rs @@ -2497,7 +2497,7 @@ pub struct OidcConfig { /// automatically fetch the identity provider's metadata from this URL. /// Generally you should set this to the base domain your identity provider /// runs on. - pub discovery_url: Url, + pub discovery_url: String, /// The OAuth client ID for Continuwuity to use when communicating with the /// identity provider. diff --git a/src/service/oidc/mod.rs b/src/service/oidc/mod.rs index 507cbd828..3dc786c68 100644 --- a/src/service/oidc/mod.rs +++ b/src/service/oidc/mod.rs @@ -172,7 +172,8 @@ impl crate::Service for Service { .expect("redirect url should be valid"); let provider_metadata = CoreProviderMetadata::discover_async( - IssuerUrl::from_url(config.discovery_url.clone()), + IssuerUrl::new(config.discovery_url.clone()) + .map_err(|err| err!("Failed to parse OIDC discovery URL: {err}"))?, client, ) .await