1#![doc = include_str!("../README.md")]
2
3pub mod error;
4#[cfg(feature = "well-known-fetch")]
5pub mod keyset;
6#[cfg(feature = "oauth")]
7pub mod oauth;
8#[cfg(feature = "oauth")]
9pub mod pas_port;
10#[cfg(feature = "oauth")]
11pub mod pkce;
12#[cfg(feature = "oauth")]
13pub mod session_version;
14#[cfg(feature = "session-liveness")]
15pub mod session_liveness;
16#[cfg(feature = "token")]
17pub mod token;
18pub mod types;
19pub mod well_known;
20
21#[cfg(feature = "axum")]
22pub mod middleware;
23
24pub use error::{Error, TokenError};
26#[cfg(feature = "well-known-fetch")]
27pub use keyset::KeySet;
28#[cfg(feature = "oauth")]
29pub use oauth::{AuthClient, AuthorizationRequest, OAuthConfig, TokenResponse, UserInfo};
30#[cfg(feature = "oauth")]
31pub use pkce::{generate_code_challenge, generate_code_verifier, generate_state};
32#[cfg(feature = "oauth")]
33pub use session_version::{
34 MemorySessionVersionCache, SessionVersionCache, SV_CACHE_KEY_PREFIX, SV_CACHE_TTL,
35};
36#[cfg(feature = "session-liveness")]
37pub use session_liveness::{
38 CipherError, EncryptedRefreshToken, LivenessFailure, LivenessOutcome, RevokeCause,
39 TokenCipher, TransientCause, attempt_liveness_refresh,
40};
41#[cfg(feature = "token")]
42pub use token::{
43 PublicKey, VerifiedClaims, extract_unverified_kid, parse_public_key_hex,
44 verify_v4_public_access_token, verify_v4_with_keyset,
45};
46pub use types::{KeyId, Ppnum, PpnumId, SessionId, UserId};
47#[cfg(feature = "oauth")]
48pub use url::Url;
49pub use well_known::{WellKnownKeyStatus, WellKnownPasetoDocument, WellKnownPasetoKey};