pub struct RarConfig {
pub max_authorization_details: usize,
pub supported_types: Vec<String>,
pub require_explicit_consent: bool,
pub max_resource_depth: usize,
pub default_lifetime: Duration,
pub enable_resource_discovery: bool,
pub validation_rules: Vec<RarValidationRule>,
pub type_action_mapping: HashMap<String, Vec<String>>,
}Expand description
Configuration for Rich Authorization Requests
Fields§
Maximum number of authorization details per request
supported_types: Vec<String>Supported authorization detail types
require_explicit_consent: boolWhether to require explicit user consent for each detail
max_resource_depth: usizeMaximum depth for nested resource hierarchies
default_lifetime: DurationDefault authorization detail lifetime
enable_resource_discovery: boolWhether to support resource discovery
validation_rules: Vec<RarValidationRule>Custom validation rules for authorization details
type_action_mapping: HashMap<String, Vec<String>>Supported actions per resource type
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RarConfig
impl<'de> Deserialize<'de> for RarConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RarConfig
impl RefUnwindSafe for RarConfig
impl Send for RarConfig
impl Sync for RarConfig
impl Unpin for RarConfig
impl UnwindSafe for RarConfig
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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