//! Authentication layer for IAM
//!
//! Provides JWT/OIDC verification, mTLS authentication, and internal token management.

pub mod jwt;
pub mod mtls;
pub mod provider;
pub mod token;

pub use jwt::{Jwk, Jwks, JwtVerifier, JwtVerifierConfig, MultiIssuerJwtVerifier};
pub use mtls::{
    CertificateInfo, MtlsAuthResult, MtlsVerifier, MtlsVerifierConfig, PrincipalMapping,
    SubjectAltName,
};
pub use provider::{
    extract_credentials_from_headers, AuthnCredentials, AuthnProvider, AuthnResult,
    CombinedAuthProvider,
};
pub use token::{
    InternalTokenConfig, InternalTokenService, IssuedToken, KeyRotationConfig, KeyRotationManager,
    KeyRotationStats, KeyStatus, ManagedKey, SigningKey, TsoClient,
};
