pub mod extractors;
pub mod jwt;
pub mod middleware;
pub mod provider;
pub mod token;
#[cfg(feature = "auth-breach")]
pub mod breach;
pub mod deletion;
#[cfg(feature = "auth")]
pub mod flows;
pub mod impersonation;
pub mod jwt_issuer;
pub mod lockout;
#[cfg(feature = "auth-mfa")]
pub mod mfa;
pub mod password;
pub mod refresh;
pub mod sessions;
pub mod storage;
pub mod trusted_device;
pub use extractors::{AdminUser, AuthUser, Claims, ClaimsRef, OptionalAuth, RequireAdmin};
pub use jwt::{JwkSet, JwtVerifier};
pub use middleware::RequireAuth;
pub use provider::AuthProvider;
pub use token::TokenExtractor;
pub use jwt_issuer::{
AccessTokenClaims, JwtIssuer, JwtIssuerConfig, RefreshTokenClaims, StandardClaims, TokenPair,
TokenSubject, TokenType,
};
pub use password::{PasswordConfig, PasswordError, PasswordHasher, PasswordPolicy};
pub use refresh::{TokenRefreshFlow, UserLoader};
pub use storage::{RefreshTokenStore, UserStore};
#[cfg(feature = "auth")]
pub use flows::{
EmailVerificationFlow, EmailVerifyRequest, LoginFlow, LoginFlowConfig, LoginRateLimitConfig,
LoginRateLimiter, LoginRequest, LoginResponse, LogoutRequest, MfaType, MfaVerifyRequest,
PasswordChangeConfig, PasswordChangeFlow, PasswordChangeRequest, PasswordChangeStore,
PasswordResetComplete, PasswordResetFlow, PasswordResetRequest, RefreshRequest,
RegisterRequest, RegistrationFlow, ResendVerificationRequest, TokenIssuance, TokenIssuer,
WithRateLimiter, WithRefreshStore,
};
#[cfg(feature = "auth-mfa")]
pub use mfa::{BackupCodeGenerator, BackupCodes, MfaStore, TotpConfig, TotpManager, TotpSetup};
#[cfg(feature = "auth-breach")]
pub use breach::{BreachCheckConfig, BreachChecker};
pub use storage::token::MfaTokenStore;
pub use storage::user::{PasswordResetStore, UserCreator, VerificationStore};
#[cfg(any(test, feature = "test-auth-bypass"))]
pub use sessions::test::InMemorySessionStore;
pub use sessions::{
SessionCreateResult, SessionInfo, SessionLimitConfig, SessionManager, SessionMetadata,
SessionOverflowBehavior, SessionStore,
};
#[cfg(any(test, feature = "test-auth-bypass"))]
pub use trusted_device::test::InMemoryTrustedDeviceStore;
pub use trusted_device::{
DeviceFingerprint, TrustedDevice, TrustedDeviceConfig, TrustedDeviceManager, TrustedDeviceStore,
};
#[cfg(any(test, feature = "test-auth-bypass"))]
pub use lockout::test::InMemoryLockoutStore;
pub use lockout::{
FailedAttemptResult, LockoutManager, LockoutPolicy, LockoutStatus, LockoutStore,
};
#[cfg(any(test, feature = "test-auth-bypass"))]
pub use deletion::test::InMemoryDeletionStore;
pub use deletion::{
AccountDeletionFlow, AccountDeletionStore, CleanupStats, DeletionConfig, DeletionRequest,
DeletionResult, PendingDeletion,
};
#[cfg(any(test, feature = "test-auth-bypass"))]
pub use impersonation::test::InMemoryImpersonationStore;
pub use impersonation::{
BlockedAction, ImpersonationAuditEntry, ImpersonationClaims, ImpersonationConfig,
ImpersonationEvent, ImpersonationManager, ImpersonationRequest, ImpersonationSession,
ImpersonationStore,
};