pub struct AuthConfig {
pub jwt_secret: Option<String>,
pub jwt_algorithm: JwtAlgorithm,
pub jwt_issuer: Option<String>,
pub jwt_audience: Option<String>,
pub access_token_ttl: Option<String>,
pub refresh_token_ttl: Option<String>,
pub jwks_url: Option<String>,
pub jwks_cache_ttl_secs: u64,
pub session_ttl_secs: u64,
}Expand description
Authentication configuration.
Fields§
§jwt_secret: Option<String>JWT secret for HMAC algorithms (HS256, HS384, HS512). Required when using HMAC algorithms.
jwt_algorithm: JwtAlgorithmJWT signing algorithm. HMAC algorithms (HS256, HS384, HS512) require jwt_secret. RSA algorithms (RS256, RS384, RS512) require jwks_url.
jwt_issuer: Option<String>Expected token issuer (iss claim). If set, tokens with a different issuer are rejected.
jwt_audience: Option<String>Expected audience (aud claim). If set, tokens with a different audience are rejected.
access_token_ttl: Option<String>Access token lifetime (e.g., “15m”, “1h”).
Used by ctx.issue_token_pair(). Defaults to “1h”.
refresh_token_ttl: Option<String>Refresh token lifetime (e.g., “7d”, “30d”).
Used by ctx.issue_token_pair(). Defaults to “30d”.
jwks_url: Option<String>JWKS URL for RSA algorithms (RS256, RS384, RS512). Keys are fetched and cached automatically.
jwks_cache_ttl_secs: u64JWKS cache TTL in seconds.
session_ttl_secs: u64Session TTL in seconds (for WebSocket sessions).
Implementations§
Source§impl AuthConfig
impl AuthConfig
Sourcepub fn access_token_ttl_secs(&self) -> i64
pub fn access_token_ttl_secs(&self) -> i64
Resolved access token TTL in seconds.
Parses access_token_ttl, default 3600s (1h).
Minimum 1 second to prevent zero-lifetime tokens.
Sourcepub fn refresh_token_ttl_days(&self) -> i64
pub fn refresh_token_ttl_days(&self) -> i64
Resolved refresh token TTL in days.
Parses refresh_token_ttl, default 30 days.
Trait Implementations§
Source§impl Clone for AuthConfig
impl Clone for AuthConfig
Source§fn clone(&self) -> AuthConfig
fn clone(&self) -> AuthConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for AuthConfig
impl Debug for AuthConfig
Source§impl Default for AuthConfig
impl Default for AuthConfig
Source§impl<'de> Deserialize<'de> for AuthConfig
impl<'de> Deserialize<'de> for AuthConfig
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 AuthConfig
impl RefUnwindSafe for AuthConfig
impl Send for AuthConfig
impl Sync for AuthConfig
impl Unpin for AuthConfig
impl UnsafeUnpin for AuthConfig
impl UnwindSafe for AuthConfig
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,
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