Skip to main content

Module traits

Module traits 

Source
Expand description

Trait definitions for authentication system integration

This module provides generic traits for authentication. Modules can implement these traits with their own domain entities.

§Generic Design

Instead of hardcoded entity structs, this module uses traits:

  • AuthenticatableUser - Trait for user entities that can be authenticated
  • UserRepository - Generic repository trait for user operations

§Usage

ⓘ
// Module implements trait for its domain User entity
impl AuthenticatableUser for MyUser {
    fn id(&self) -> &Uuid { &self.id }
    fn email(&self) -> &str { &self.email }
    fn password_hash(&self) -> &str { &self.password_hash }
    // ... other methods
}

Structs§

AuthContext
Authentication context for enhanced security
AuthRequest
Enhanced authentication request
AuthResultEnhanced
Enhanced authentication result with security info
DeviceInfo
Device information for security tracking
PasswordPolicy
Password strength requirements
PasswordResetConfirmation
Password reset confirmation
PasswordResetRequest
Password reset request
RefreshTokenClaims
Refresh token claims for token refresh functionality
SecurityFlags
Security flags for authentication result
SimpleUser
Simple user struct for default authentication implementation
TwoFactorChallenge
Two-factor authentication challenge

Enums§

SecurityAlertType
Security alert types
TwoFactorMethod
Two-factor authentication methods

Traits§

AuthenticatableUser
Trait for user entities that can be authenticated
SecurityService
Security service trait for authentication security features
UserRepository
Generic user repository trait for database operations

Type Aliases§

User
Type alias for backwards compatibility