pub struct TokenRevocationSecurityConfig {
pub enabled: bool,
pub backend: String,
pub require_jti: bool,
pub fail_open: bool,
pub redis_url: Option<String>,
pub revoke_all_ttl_secs: u64,
}Expand description
Token revocation configuration.
[security.token_revocation]
enabled = true
backend = "redis"
require_jti = true
fail_open = falseFields§
§enabled: boolEnable token revocation
backend: StringBackend: "redis", "postgres", or "memory"
require_jti: boolReject JWTs without a jti claim when revocation is enabled
fail_open: boolIf revocation store is unreachable: false = reject (fail-closed), true = allow
(fail-open)
redis_url: Option<String>Redis URL for distributed revocation (optional — inherited from [fraiseql.redis] if
absent)
revoke_all_ttl_secs: u64How long (seconds) a revoke-all epoch is retained.
revoke-all records a per-user epoch rather than deleting individual tokens, so the
entry must outlive every token that could have been issued before the revocation.
Set this above your maximum access-token lifetime; once it expires a pre-revocation
token would resume working (until its own exp). Default: 86400 (24h). The server reads
this value from the compiled schema.
Trait Implementations§
Source§impl Clone for TokenRevocationSecurityConfig
impl Clone for TokenRevocationSecurityConfig
Source§fn clone(&self) -> TokenRevocationSecurityConfig
fn clone(&self) -> TokenRevocationSecurityConfig
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl<'de> Deserialize<'de> for TokenRevocationSecurityConfigwhere
TokenRevocationSecurityConfig: Default,
impl<'de> Deserialize<'de> for TokenRevocationSecurityConfigwhere
TokenRevocationSecurityConfig: Default,
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>,
Auto Trait Implementations§
impl Freeze for TokenRevocationSecurityConfig
impl RefUnwindSafe for TokenRevocationSecurityConfig
impl Send for TokenRevocationSecurityConfig
impl Sync for TokenRevocationSecurityConfig
impl Unpin for TokenRevocationSecurityConfig
impl UnsafeUnpin for TokenRevocationSecurityConfig
impl UnwindSafe for TokenRevocationSecurityConfig
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> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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