pub struct SecurityConfig {Show 17 fields
pub min_password_length: usize,
pub require_password_complexity: bool,
pub require_uppercase: bool,
pub require_lowercase: bool,
pub require_digit: bool,
pub require_special: bool,
pub min_complexity_criteria: usize,
pub password_hash_algorithm: PasswordHashAlgorithm,
pub jwt_algorithm: JwtAlgorithm,
pub secret_key: Option<String>,
pub secure_cookies: bool,
pub cookie_same_site: CookieSameSite,
pub csrf_protection: bool,
pub session_timeout: Duration,
pub lockout: LockoutConfig,
pub max_api_keys_per_user: usize,
pub oauth2: OAuth2SecurityConfig,
}Expand description
Security configuration options.
Fields§
§min_password_length: usizeMinimum password length (recommended: 12+ for strong security)
require_password_complexity: boolRequire password complexity
require_uppercase: boolRequire uppercase letters in password
require_lowercase: boolRequire lowercase letters in password
require_digit: boolRequire digits in password
require_special: boolRequire special characters in password
min_complexity_criteria: usizeMinimum number of complexity criteria that must be met
password_hash_algorithm: PasswordHashAlgorithmPassword hash algorithm
jwt_algorithm: JwtAlgorithmJWT signing algorithm
secret_key: Option<String>Secret key for signing (should be loaded from environment)
Enable secure cookies
Cookie SameSite policy
csrf_protection: boolCSRF protection
session_timeout: DurationSession timeout
lockout: LockoutConfigAccount lockout configuration
max_api_keys_per_user: usizeMaximum API keys per user (0 = unlimited)
oauth2: OAuth2SecurityConfigOAuth2 configuration
Implementations§
Source§impl SecurityConfig
impl SecurityConfig
Sourcepub fn development() -> Self
pub fn development() -> Self
Create a development-friendly configuration. WARNING: You MUST set a secret key before using this configuration! Use either config.security.secret_key or JWT_SECRET environment variable.
Trait Implementations§
Source§impl Clone for SecurityConfig
impl Clone for SecurityConfig
Source§fn clone(&self) -> SecurityConfig
fn clone(&self) -> SecurityConfig
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for SecurityConfig
impl Debug for SecurityConfig
Source§impl Default for SecurityConfig
impl Default for SecurityConfig
Source§impl<'de> Deserialize<'de> for SecurityConfig
impl<'de> Deserialize<'de> for SecurityConfig
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 SecurityConfig
impl RefUnwindSafe for SecurityConfig
impl Send for SecurityConfig
impl Sync for SecurityConfig
impl Unpin for SecurityConfig
impl UnwindSafe for SecurityConfig
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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