#![doc = include_str!("../README.md")]
pub mod audit;
pub mod error;
#[cfg(feature = "oauth")]
pub(crate) mod oauth;
#[cfg(feature = "token")]
pub mod oidc;
#[cfg(feature = "oauth")]
pub mod pas_port;
#[cfg(feature = "oauth")]
pub(crate) mod pkce;
#[cfg(feature = "session-liveness")]
pub mod session_liveness;
#[cfg(feature = "token")]
pub mod token;
pub mod types;
#[cfg(feature = "test-support")]
pub mod test_support;
pub use audit::{
AuditEvent, AuditSink, IdTokenFailureKind, MemoryRateLimiter, NoopAuditSink, RateLimitKey,
RateLimitedAuditSink, RateLimiter, VerifyErrorKind, compose_id_token_source_id,
compose_source_id,
};
#[cfg(any(test, feature = "test-support"))]
pub use audit::MemoryAuditSink;
pub use error::{Error, TokenError};
#[cfg(feature = "session-liveness")]
pub use session_liveness::{
CipherError, EncryptedRefreshToken, LivenessFailure, LivenessOutcome, RevokeCause,
TokenCipher, TransientCause, attempt_liveness_refresh,
};
#[cfg(feature = "token")]
pub use token::{AuthSession, BearerVerifier, Expectations, VerifyError};
#[cfg(feature = "well-known-fetch")]
pub use token::PasJwtVerifier;
#[cfg(all(feature = "token", any(test, feature = "test-support")))]
pub use token::MemoryBearerVerifier;
#[cfg(feature = "token")]
pub use oidc::{Address, IdAssertion, IdTokenVerifier, IdVerifyError, Nonce, ScopePiiReader};
#[cfg(all(feature = "token", any(test, feature = "test-support")))]
pub use oidc::MemoryIdTokenVerifier;
pub use types::{KeyId, Ppnum, PpnumId, SessionId, UserId};
#[cfg(feature = "oauth")]
pub use url::Url;