#[cfg(feature = "api-server")]
pub mod api;
#[cfg(feature = "admin-binary")]
pub mod admin;
pub mod auth;
pub mod auth_modular; pub mod authentication; pub mod errors;
pub mod methods;
pub mod permissions;
pub mod profile_utils;
pub mod providers;
#[cfg(feature = "enhanced-rbac")]
pub mod sdks;
pub mod server;
pub mod storage;
pub mod testing; pub mod threat_intelligence; pub mod tokens;
pub mod utils;
pub mod migration;
pub mod analytics;
pub mod deployment;
pub mod user_context;
pub mod oauth2_enhanced_storage;
pub mod oauth2_server;
pub mod audit;
pub mod authorization;
#[cfg(feature = "role-system")]
pub mod authorization_enhanced;
pub mod distributed_rate_limiting; pub mod security;
pub mod session;
pub mod config;
pub mod monitoring;
#[cfg(feature = "enhanced-observability")]
pub mod observability;
#[cfg(feature = "event-sourcing")]
pub mod architecture;
pub mod integrations {
#[cfg(feature = "axum-integration")]
pub mod axum;
#[cfg(feature = "actix-integration")]
pub mod actix_web;
#[cfg(feature = "warp-integration")]
pub mod warp;
}
pub mod migrations;
pub mod cli;
pub mod builders;
pub mod prelude;
pub mod saml_assertions;
pub mod ws_security;
pub mod ws_trust;
pub use crate::auth::{AuthFramework, AuthResult, AuthStats, UserInfo};
pub use authentication::credentials::Credential;
pub use config::{
AuthConfig,
app_config::{AppConfig, ConfigBuilder},
};
pub use errors::{AuthError, Result};
pub use methods::{
ApiKeyMethod, AuthMethod, JwtMethod, MethodResult, OAuth2Method, PasswordMethod,
};
#[cfg(feature = "api-server")]
pub use api::{ApiError, ApiResponse, ApiServer, ApiState};
#[cfg(feature = "saml")]
pub use methods::saml;
pub use providers::generate_pkce;
pub use permissions::{Permission, PermissionChecker, Role};
pub use profile_utils::{ExtractProfile, TokenToProfile};
pub use providers::{DeviceAuthorizationResponse, OAuthProvider, OAuthProviderConfig, UserProfile};
pub use tokens::AuthToken;
pub use ws_security::{UsernameToken, WsSecurityClient, WsSecurityConfig, WsSecurityHeader};
pub use ws_trust::RequestSecurityToken;
pub use server::oidc::{
Address, AuthorizationValidationResult, IdTokenClaims, Jwk, JwkSet, LogoutResponse,
OidcAuthorizationRequest, OidcConfig, OidcDiscoveryDocument, OidcProvider, SubjectType,
UserInfo as OidcUserInfo,
};
pub use server::oidc::{
oidc_backchannel_logout::{
BackChannelLogoutConfig, BackChannelLogoutManager, BackChannelLogoutRequest,
BackChannelLogoutResponse, LogoutEvents, LogoutTokenClaims, NotificationResult,
RpBackChannelConfig,
},
oidc_frontchannel_logout::{
FailedNotification, FrontChannelLogoutConfig, FrontChannelLogoutManager,
FrontChannelLogoutRequest, FrontChannelLogoutResponse, RpFrontChannelConfig,
},
};
pub use oauth2_server::{
AuthorizationRequest, GrantType, OAuth2Config, OAuth2Server, ResponseType, TokenRequest,
TokenResponse,
};
pub use server::{
ClientRegistrationRequest, ClientType, WorkingServerConfig,
core::{
client_registration::ClientRegistrationRequest as ServerClientRegistrationRequest,
client_registry::ClientType as ServerClientType,
},
};
pub use server::{
DpopManager, MetadataProvider, OAuth2Server as ServerOAuth2Server, PARManager,
PrivateKeyJwtManager, TokenIntrospectionService,
};
pub use audit::{AuditEvent, AuditEventType, AuditLogger, EventOutcome, RiskLevel};
pub use authentication::mfa::{MfaManager as LegacyMfaManager, MfaMethodType, TotpProvider};
pub use authorization::{
AccessCondition, AuthorizationEngine, Permission as AuthzPermission, Role as AuthzRole,
};
pub use security::secure_jwt::{SecureJwtClaims, SecureJwtConfig, SecureJwtValidator};
pub use security::secure_mfa::SecureMfaService;
pub use security::secure_session::{
DeviceFingerprint, SecureSession, SecureSessionConfig, SecureSessionManager, SecurityFlags,
SessionState as SecureSessionState,
};
pub use security::secure_utils::{SecureComparison, SecureRandomGen};
pub use session::manager::{
DeviceInfo, Session, SessionConfig, SessionManager as LegacySessionManager, SessionState,
};
pub use utils::rate_limit::RateLimiter;
pub use monitoring::{
HealthCheckResult, HealthStatus, MetricDataPoint, MetricType, MonitoringConfig,
MonitoringManager, PerformanceMetrics, SecurityEvent, SecurityEventSeverity, SecurityEventType,
};
pub use auth::SessionCoordinationStats;
#[cfg(any(test, feature = "testing"))]
pub use testing::{MockAuthMethod, MockStorage};
#[cfg(any(test, feature = "testing"))]
pub use testing::{
test_infrastructure::{TestEnvironmentGuard, test_data},
utilities::*,
};