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