pub struct OAuthProviderConfig {Show 32 fields
pub scopes: Vec<String>,
pub client_discoveries: Vec<Arc<dyn OAuthClientDiscovery>>,
pub cached_trusted_clients: HashSet<String>,
pub client_credentials_scope_privileges: Option<Arc<dyn OAuthClientPrivileges>>,
pub client_id_generator: Option<Arc<dyn OAuthClientIdGenerator>>,
pub client_secret_generator: Option<Arc<dyn OAuthClientSecretGenerator>>,
pub client_secret_hasher: Option<Arc<dyn OAuthClientSecretHasher>>,
pub token_hasher: Option<Arc<dyn OAuthTokenHasher>>,
pub client_secret_cipher: Option<Arc<dyn OAuthClientSecretCipher>>,
pub client_secret_prefix: Option<String>,
pub login_page: String,
pub consent_page: String,
pub select_account_page: Option<String>,
pub code_expires_in: f64,
pub access_token_expires_in: f64,
pub m2m_access_token_expires_in: f64,
pub id_token_expires_in: f64,
pub refresh_token_expires_in: f64,
pub scope_expirations: HashMap<String, JwtExpiration>,
pub assertion_max_lifetime: f64,
pub refresh_token_reuse_interval: f64,
pub allow_public_client_prelogin: bool,
pub enforce_per_client_resources: bool,
pub advertised_scopes: Option<Vec<String>>,
pub advertised_claims: Option<Vec<String>>,
pub grant_types: Vec<String>,
pub allow_dynamic_client_registration: bool,
pub allow_unauthenticated_client_registration: bool,
pub disable_jwt_plugin: bool,
pub pairwise_secret: Option<String>,
pub dpop_signing_algorithms: Option<Vec<String>>,
pub dpop_proof_max_age_seconds: Option<f64>,
}Expand description
Immutable policy shared by authorization-server metadata and grant admission.
Fields§
§scopes: Vec<String>§client_discoveries: Vec<Arc<dyn OAuthClientDiscovery>>§cached_trusted_clients: HashSet<String>Managed identities cached by provider instance and protected from API mutations.
client_credentials_scope_privileges: Option<Arc<dyn OAuthClientPrivileges>>Operator decision for assigning client-credentials scopes.
client_id_generator: Option<Arc<dyn OAuthClientIdGenerator>>§client_secret_generator: Option<Arc<dyn OAuthClientSecretGenerator>>§client_secret_hasher: Option<Arc<dyn OAuthClientSecretHasher>>§token_hasher: Option<Arc<dyn OAuthTokenHasher>>Application token hashing for authorization codes, access and refresh tokens.
client_secret_cipher: Option<Arc<dyn OAuthClientSecretCipher>>§client_secret_prefix: Option<String>Wire prefix matching Better Auth’s prefix.clientSecret; stored credentials exclude it.
login_page: String§consent_page: String§select_account_page: Option<String>§code_expires_in: f64§access_token_expires_in: f64User access-token lifetime in seconds, including refresh grant issuance.
m2m_access_token_expires_in: f64Access-token lifetime for issuance without a user.
id_token_expires_in: f64§refresh_token_expires_in: f64§scope_expirations: HashMap<String, JwtExpiration>Per-scope access-expiration ceilings. Numeric values are absolute Unix seconds (and numeric zero is ignored), matching the reference policy.
assertion_max_lifetime: f64Maximum assertion future expiration and issued-at age, in seconds (default 300).
refresh_token_reuse_interval: f64§allow_public_client_prelogin: bool§enforce_per_client_resources: bool§advertised_scopes: Option<Vec<String>>§advertised_claims: Option<Vec<String>>§grant_types: Vec<String>§allow_dynamic_client_registration: bool§allow_unauthenticated_client_registration: bool§disable_jwt_plugin: bool§pairwise_secret: Option<String>§dpop_signing_algorithms: Option<Vec<String>>§dpop_proof_max_age_seconds: Option<f64>Trait Implementations§
Source§impl Clone for OAuthProviderConfig
impl Clone for OAuthProviderConfig
Source§impl Debug for OAuthProviderConfig
impl Debug for OAuthProviderConfig
Auto Trait Implementations§
impl !RefUnwindSafe for OAuthProviderConfig
impl !UnwindSafe for OAuthProviderConfig
impl Freeze for OAuthProviderConfig
impl Send for OAuthProviderConfig
impl Sync for OAuthProviderConfig
impl Unpin for OAuthProviderConfig
impl UnsafeUnpin for OAuthProviderConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> ErasedDestructor for Twhere
T: 'static,
impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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> ⓘ
Converts
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> ⓘ
Converts
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