mod grant;
pub(crate) mod token_response;
pub(crate) mod form;
pub use grant::OAuth2ExchangeGrant;
pub use token_response::{
InvalidTokenResponse, RawTokenResponse, RawTokenResponseBuilder, TokenResponse,
};
pub(crate) fn resolve_mtls_alias(
http_client: &dyn crate::core::http::HttpClient,
primary: &crate::core::EndpointUrl,
mtls_alias: Option<&crate::core::EndpointUrl>,
) -> crate::core::EndpointUrl {
if http_client.uses_mtls() {
mtls_alias.unwrap_or(primary).clone()
} else {
primary.clone()
}
}
pub(crate) fn mk_scopes(scopes: impl IntoIterator<Item = impl Into<String>>) -> Option<String> {
let maybe_scopes = scopes
.into_iter()
.filter_map(|s| {
let s = s.into();
(!s.trim().is_empty()).then_some(s)
})
.collect::<Vec<_>>();
(!maybe_scopes.is_empty()).then(|| maybe_scopes.join(" "))
}