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 for [security.token_revocation].
Fields§
§enabled: boolEnable token revocation.
backend: StringStorage backend: "redis", "postgres", or "memory".
require_jti: boolReject JWTs without a jti claim when revocation is enabled.
fail_open: boolIf the revocation store is unreachable: false = reject (fail-closed),
true = allow (fail-open).
redis_url: Option<String>Redis URL for distributed revocation (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).
Trait Implementations§
Source§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>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for TokenRevocationSecurityConfig
impl StructuralPartialEq for TokenRevocationSecurityConfig
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
Mutably borrows from an owned value. Read more
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.