pub struct UpstreamOAuthProviderParams {Show 20 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)>,
}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
Auto Trait Implementations§
impl Freeze for UpstreamOAuthProviderParams
impl RefUnwindSafe for UpstreamOAuthProviderParams
impl Send for UpstreamOAuthProviderParams
impl Sync for UpstreamOAuthProviderParams
impl Unpin 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 more