pub struct RoleMappingConfig {
pub claim: String,
pub mapping: HashMap<String, String>,
pub default_deny: bool,
}Expand description
Maps JWT claim values to RBAC role names.
Fields§
§claim: StringJWT claim to read for role resolution (e.g. “scope”, “role”, “groups”)
mapping: HashMap<String, String>Map claim values to role names
default_deny: boolDefault-deny policy for authenticated principals whose claim value is
not present in mapping.
When false (the default, for backwards compatibility), a request that
carries valid token claims but whose mapped scope is unrecognized passes
through with no RBAC restriction. When true, such a request is denied.
Recommended true for gateway deployments: an authenticated principal
carrying an unrecognized scope should not get unrestricted access. This
only governs requests that already carry token claims; requests with no
claims at all (no JWT/RBAC configured) always pass through.
Trait Implementations§
Source§impl Debug for RoleMappingConfig
impl Debug for RoleMappingConfig
Source§impl<'de> Deserialize<'de> for RoleMappingConfig
impl<'de> Deserialize<'de> for RoleMappingConfig
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 RoleMappingConfig
impl RefUnwindSafe for RoleMappingConfig
impl Send for RoleMappingConfig
impl Sync for RoleMappingConfig
impl Unpin for RoleMappingConfig
impl UnsafeUnpin for RoleMappingConfig
impl UnwindSafe for RoleMappingConfig
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
Mutably borrows from an owned value. Read more
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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