diff --git a/warpgate-sso/src/sso.rs b/warpgate-sso/src/sso.rs index 9b8bc3d..cfbfa98 100644 --- a/warpgate-sso/src/sso.rs +++ b/warpgate-sso/src/sso.rs @@ -2,7 +2,10 @@ use std::borrow::Cow; use openidconnect::core::{CoreAuthenticationFlow, CoreClient, CoreProviderMetadata}; use openidconnect::reqwest::async_http_client; -use openidconnect::{CsrfToken, Nonce, PkceCodeChallenge, RedirectUrl, Scope}; +use openidconnect::{ + CsrfToken, DiscoveryError, Nonce, PkceCodeChallenge, RedirectUrl, + Scope, +}; use crate::config::SsoInternalProviderConfig; use crate::request::SsoLoginRequest; @@ -15,7 +18,12 @@ pub struct SsoClient { pub async fn make_client(config: &SsoInternalProviderConfig) -> Result { let metadata = CoreProviderMetadata::discover_async(config.issuer_url()?, async_http_client) .await - .map_err(|e| SsoError::Discovery(format!("{e}")))?; + .map_err(|e| { + SsoError::Discovery(match e { + DiscoveryError::Request(inner) => format!("Request error: {}", inner), + e => format!("{e}"), + }) + })?; Ok(CoreClient::from_provider_metadata( metadata, config.client_id().clone(),