1#![doc = include_str!("../README.md")]
2
3pub mod error;
4#[cfg(feature = "oauth")]
5pub mod oauth;
6#[cfg(feature = "oauth")]
7pub mod pkce;
8#[cfg(feature = "token")]
9pub mod token;
10pub mod types;
11pub mod well_known;
12
13#[cfg(feature = "axum")]
14pub mod middleware;
15
16pub use error::{Error, TokenError};
18#[cfg(feature = "oauth")]
19pub use oauth::{AuthClient, AuthorizationRequest, OAuthConfig, TokenResponse, UserInfo};
20#[cfg(feature = "oauth")]
21pub use pkce::{generate_code_challenge, generate_code_verifier, generate_state};
22pub use types::{KeyId, Ppnum, PpnumId, SessionId, UserId};
23#[cfg(feature = "token")]
24pub use token::{
25 PublicKey, VerifiedClaims, extract_kid_from_token, parse_public_key_hex,
26 verify_v4_public_access_token,
27};
28#[cfg(feature = "oauth")]
29pub use url::Url;
30pub use well_known::{WellKnownKeyStatus, WellKnownPasetoDocument, WellKnownPasetoKey};