pub mod audit;
pub mod auth_service;
pub mod jwt;
pub mod password;
pub mod permissions;
pub mod middleware;
pub mod token_generator;
pub mod traits;
pub mod resource_policy;
#[cfg(feature = "axum")]
pub mod company;
#[cfg(feature = "axum")]
pub mod idempotency;
#[cfg(feature = "axum")]
pub mod org;
pub use audit::AuditEvent;
pub use auth_service::*;
pub use jwt::*;
pub use password::*;
pub use middleware::{AuthMiddleware, AuthExtractor, AuthContext};
pub use token_generator::TokenGenerator;
#[cfg(feature = "axum")]
pub use company::{company_auth, CompanyClaims, CompanyContext, CompanyVerifier};
#[cfg(feature = "axum")]
pub use org::{
org_auth, OrgClaims, OrgContext, OrgIssuer, OrgVerifier, TOKEN_TYPE_ACCESS,
TOKEN_TYPE_REFRESH,
};
#[cfg(feature = "axum")]
pub use idempotency::{IdempotencyState, idempotency_middleware, migrate as migrate_idempotency};
#[cfg(feature = "axum")]
#[deprecated(note = "renamed to CompanyContext (ADR-0005: company_id is a legal-entity boundary, not the tenant)")]
pub use company::CompanyContext as TenantContext;
#[cfg(feature = "axum")]
#[deprecated(note = "renamed to CompanyVerifier (ADR-0005)")]
pub use company::CompanyVerifier as TenantVerifier;
#[cfg(feature = "axum")]
#[deprecated(note = "renamed to CompanyClaims (ADR-0005)")]
pub use company::CompanyClaims as TenantClaims;
#[cfg(feature = "axum")]
#[deprecated(note = "renamed to company_auth (ADR-0005)")]
pub use company::company_auth as tenant_auth;
pub use permissions::{
PermissionLike, RoleLike, PermissionChecker,
SimplePermission, SimpleRole, InMemoryPermissionService,
Permission, Role, PermissionService,
};
pub use traits::{
AuthenticatableUser, SimpleUser,
UserRepository, SecurityService,
User,
RefreshTokenClaims, DeviceInfo, SecurityFlags, SecurityAlertType,
PasswordPolicy, TwoFactorMethod, TwoFactorChallenge,
PasswordResetRequest, PasswordResetConfirmation, AuthRequest, AuthResultEnhanced,
};
pub use traits::AuthContext as RequestAuthContext;
pub use resource_policy::{
ResourceAction, ResourcePolicy, AccessDenied,
PermissionGuard,
ServicePermissionGuard, AuthContextProvider,
PermitAllResourcePolicy, DenyAllResourcePolicy, RoleRequiredPolicy,
};
pub const VERSION: &str = env!("CARGO_PKG_VERSION");