pub struct NonceConfig {
pub default_ttl: Duration,
pub time_window: Duration,
}Expand description
Configuration for nonce authentication system.
This struct provides a centralized way to configure the security parameters of the nonce authentication system, including TTL and time window settings.
§Environment Variables
Configuration options can be set via environment variables:
NONCE_AUTH_DEFAULT_TTL: Default TTL in seconds (default: 300)NONCE_AUTH_DEFAULT_TIME_WINDOW: Time window in seconds (default: 60)
§Example
use nonce_auth::nonce::NonceConfig;
use std::time::Duration;
// Use default configuration
let config = NonceConfig::default();
// Create custom configuration
let config = NonceConfig {
default_ttl: Duration::from_secs(600), // 10 minutes
time_window: Duration::from_secs(120), // 2 minutes
};Fields§
§default_ttl: DurationDefault time-to-live for nonce records
time_window: DurationTime window for timestamp validation
Implementations§
Source§impl NonceConfig
impl NonceConfig
Sourcepub fn production() -> Self
pub fn production() -> Self
Creates a production-ready configuration.
Production settings prioritize security and stability:
- 5 minutes TTL (reasonable balance between security and usability)
- 1 minute time window (accounts for network delays and clock skew)
Sourcepub fn development() -> Self
pub fn development() -> Self
Creates a development configuration.
Development settings prioritize convenience:
- 10 minutes TTL (longer window for testing)
- 2 minutes time window (more forgiving for local development)
Sourcepub fn high_security() -> Self
pub fn high_security() -> Self
Creates a high-security configuration.
High-security settings prioritize maximum security:
- 2 minutes TTL (very short window to minimize exposure)
- 30 seconds time window (strict timing requirements)
Trait Implementations§
Source§impl Clone for NonceConfig
impl Clone for NonceConfig
Source§fn clone(&self) -> NonceConfig
fn clone(&self) -> NonceConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for NonceConfig
impl Debug for NonceConfig
Auto Trait Implementations§
impl Freeze for NonceConfig
impl RefUnwindSafe for NonceConfig
impl Send for NonceConfig
impl Sync for NonceConfig
impl Unpin for NonceConfig
impl UnwindSafe for NonceConfig
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