pub struct UpstreamOAuthProviderParams {Show 23 fields
pub issuer: Option<String>,
pub human_name: Option<String>,
pub brand_name: Option<String>,
pub scope: Scope,
pub token_endpoint_auth_method: UpstreamOAuthProviderTokenAuthMethod,
pub token_endpoint_signing_alg: Option<JsonWebSignatureAlg>,
pub id_token_signed_response_alg: JsonWebSignatureAlg,
pub fetch_userinfo: bool,
pub userinfo_signed_response_alg: Option<JsonWebSignatureAlg>,
pub client_id: String,
pub encrypted_client_secret: Option<String>,
pub claims_imports: UpstreamOAuthProviderClaimsImports,
pub authorization_endpoint_override: Option<Url>,
pub token_endpoint_override: Option<Url>,
pub userinfo_endpoint_override: Option<Url>,
pub jwks_uri_override: Option<Url>,
pub discovery_mode: UpstreamOAuthProviderDiscoveryMode,
pub pkce_mode: UpstreamOAuthProviderPkceMode,
pub response_mode: Option<UpstreamOAuthProviderResponseMode>,
pub additional_authorization_parameters: Vec<(String, String)>,
pub forward_login_hint: bool,
pub ui_order: i32,
pub on_backchannel_logout: UpstreamOAuthProviderOnBackchannelLogout,
}Expand description
Structure which holds parameters when inserting or updating an upstream OAuth 2.0 provider
Fields§
§issuer: Option<String>The OIDC issuer of the provider
human_name: Option<String>A human-readable name for the provider
brand_name: Option<String>A brand identifier, e.g. “apple” or “google”
scope: ScopeThe scope to request during the authorization flow
token_endpoint_auth_method: UpstreamOAuthProviderTokenAuthMethodThe token endpoint authentication method
token_endpoint_signing_alg: Option<JsonWebSignatureAlg>The JWT signing algorithm to use when then client_secret_jwt or
private_key_jwt authentication methods are used
id_token_signed_response_alg: JsonWebSignatureAlgExpected signature for the JWT payload returned by the token authentication endpoint.
Defaults to RS256.
fetch_userinfo: boolWhether to fetch the user profile from the userinfo endpoint,
or to rely on the data returned in the id_token from the
token_endpoint.
userinfo_signed_response_alg: Option<JsonWebSignatureAlg>Expected signature for the JWT payload returned by the userinfo endpoint.
If not specified, the response is expected to be an unsigned JSON
payload. Defaults to None.
client_id: StringThe client ID to use when authenticating to the upstream
encrypted_client_secret: Option<String>The encrypted client secret to use when authenticating to the upstream
claims_imports: UpstreamOAuthProviderClaimsImportsHow claims should be imported from the upstream provider
The URL to use as the authorization endpoint. If None, the URL will be
discovered
token_endpoint_override: Option<Url>The URL to use as the token endpoint. If None, the URL will be
discovered
userinfo_endpoint_override: Option<Url>The URL to use as the userinfo endpoint. If None, the URL will be
discovered
jwks_uri_override: Option<Url>The URL to use when fetching JWKS. If None, the URL will be discovered
discovery_mode: UpstreamOAuthProviderDiscoveryModeHow the provider metadata should be discovered
pkce_mode: UpstreamOAuthProviderPkceModeHow should PKCE be used
response_mode: Option<UpstreamOAuthProviderResponseMode>What response mode it should ask
Additional parameters to include in the authorization request
forward_login_hint: boolWhether to forward the login hint to the upstream provider.
ui_order: i32The position of the provider in the UI
on_backchannel_logout: UpstreamOAuthProviderOnBackchannelLogoutThe behavior when receiving a backchannel logout notification
Auto Trait Implementations§
impl Freeze for UpstreamOAuthProviderParams
impl RefUnwindSafe for UpstreamOAuthProviderParams
impl Send for UpstreamOAuthProviderParams
impl Sync for UpstreamOAuthProviderParams
impl Unpin for UpstreamOAuthProviderParams
impl UnsafeUnpin for UpstreamOAuthProviderParams
impl UnwindSafe for UpstreamOAuthProviderParams
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> FutureExt for T
impl<T> FutureExt for T
Source§fn with_context(self, otel_cx: Context) -> WithContext<Self>
fn with_context(self, otel_cx: Context) -> WithContext<Self>
Source§fn with_current_context(self) -> WithContext<Self>
fn with_current_context(self) -> WithContext<Self>
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§impl<T> Paint for Twhere
T: ?Sized,
impl<T> Paint for Twhere
T: ?Sized,
Source§fn fg(&self, value: Color) -> Painted<&T>
fn fg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the foreground set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like red() and
green(), which have the same functionality but are
pithier.
§Example
Set foreground color to white using fg():
use yansi::{Paint, Color};
painted.fg(Color::White);Set foreground color to white using white().
use yansi::Paint;
painted.white();Source§fn bright_black(&self) -> Painted<&T>
fn bright_black(&self) -> Painted<&T>
Source§fn bright_red(&self) -> Painted<&T>
fn bright_red(&self) -> Painted<&T>
Source§fn bright_green(&self) -> Painted<&T>
fn bright_green(&self) -> Painted<&T>
Source§fn bright_yellow(&self) -> Painted<&T>
fn bright_yellow(&self) -> Painted<&T>
Source§fn bright_blue(&self) -> Painted<&T>
fn bright_blue(&self) -> Painted<&T>
Source§fn bright_magenta(&self) -> Painted<&T>
fn bright_magenta(&self) -> Painted<&T>
Source§fn bright_cyan(&self) -> Painted<&T>
fn bright_cyan(&self) -> Painted<&T>
Source§fn bright_white(&self) -> Painted<&T>
fn bright_white(&self) -> Painted<&T>
Source§fn bg(&self, value: Color) -> Painted<&T>
fn bg(&self, value: Color) -> Painted<&T>
Returns a styled value derived from self with the background set to
value.
This method should be used rarely. Instead, prefer to use color-specific
builder methods like on_red() and
on_green(), which have the same functionality but
are pithier.
§Example
Set background color to red using fg():
use yansi::{Paint, Color};
painted.bg(Color::Red);Set background color to red using on_red().
use yansi::Paint;
painted.on_red();Source§fn on_primary(&self) -> Painted<&T>
fn on_primary(&self) -> Painted<&T>
Source§fn on_magenta(&self) -> Painted<&T>
fn on_magenta(&self) -> Painted<&T>
Source§fn on_bright_black(&self) -> Painted<&T>
fn on_bright_black(&self) -> Painted<&T>
Source§fn on_bright_red(&self) -> Painted<&T>
fn on_bright_red(&self) -> Painted<&T>
Source§fn on_bright_green(&self) -> Painted<&T>
fn on_bright_green(&self) -> Painted<&T>
Source§fn on_bright_yellow(&self) -> Painted<&T>
fn on_bright_yellow(&self) -> Painted<&T>
Source§fn on_bright_blue(&self) -> Painted<&T>
fn on_bright_blue(&self) -> Painted<&T>
Source§fn on_bright_magenta(&self) -> Painted<&T>
fn on_bright_magenta(&self) -> Painted<&T>
Source§fn on_bright_cyan(&self) -> Painted<&T>
fn on_bright_cyan(&self) -> Painted<&T>
Source§fn on_bright_white(&self) -> Painted<&T>
fn on_bright_white(&self) -> Painted<&T>
Source§fn attr(&self, value: Attribute) -> Painted<&T>
fn attr(&self, value: Attribute) -> Painted<&T>
Enables the styling Attribute value.
This method should be used rarely. Instead, prefer to use
attribute-specific builder methods like bold() and
underline(), which have the same functionality
but are pithier.
§Example
Make text bold using attr():
use yansi::{Paint, Attribute};
painted.attr(Attribute::Bold);Make text bold using using bold().
use yansi::Paint;
painted.bold();Source§fn rapid_blink(&self) -> Painted<&T>
fn rapid_blink(&self) -> Painted<&T>
Source§fn quirk(&self, value: Quirk) -> Painted<&T>
fn quirk(&self, value: Quirk) -> Painted<&T>
Enables the yansi Quirk value.
This method should be used rarely. Instead, prefer to use quirk-specific
builder methods like mask() and
wrap(), which have the same functionality but are
pithier.
§Example
Enable wrapping using .quirk():
use yansi::{Paint, Quirk};
painted.quirk(Quirk::Wrap);Enable wrapping using wrap().
use yansi::Paint;
painted.wrap();Source§fn clear(&self) -> Painted<&T>
👎Deprecated since 1.0.1: renamed to resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.
fn clear(&self) -> Painted<&T>
resetting() due to conflicts with Vec::clear().
The clear() method will be removed in a future release.Source§fn whenever(&self, value: Condition) -> Painted<&T>
fn whenever(&self, value: Condition) -> Painted<&T>
Conditionally enable styling based on whether the Condition value
applies. Replaces any previous condition.
See the crate level docs for more details.
§Example
Enable styling painted only when both stdout and stderr are TTYs:
use yansi::{Paint, Condition};
painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);