Skip to main content

pas_external/
lib.rs

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 pkce;
10#[cfg(feature = "session-liveness")]
11pub mod session_liveness;
12#[cfg(feature = "token")]
13pub mod token;
14pub mod types;
15pub mod well_known;
16
17#[cfg(feature = "axum")]
18pub mod middleware;
19
20// Re-exports for convenient access
21pub use error::{Error, TokenError};
22#[cfg(feature = "well-known-fetch")]
23pub use keyset::KeySet;
24#[cfg(feature = "oauth")]
25pub use oauth::{AuthClient, AuthorizationRequest, OAuthConfig, TokenResponse, UserInfo};
26#[cfg(feature = "oauth")]
27pub use pkce::{generate_code_challenge, generate_code_verifier, generate_state};
28#[cfg(feature = "session-liveness")]
29pub use session_liveness::{
30    CipherError, EncryptedRefreshToken, LivenessFailure, LivenessOutcome, RevokeCause,
31    TokenCipher, TransientCause, attempt_liveness_refresh, classify_refresh_error,
32};
33#[cfg(feature = "token")]
34pub use token::{
35    PublicKey, VerifiedClaims, extract_unverified_kid, parse_public_key_hex,
36    verify_v4_public_access_token, verify_v4_with_keyset,
37};
38pub use types::{KeyId, Ppnum, PpnumId, SessionId, UserId};
39#[cfg(feature = "oauth")]
40pub use url::Url;
41pub use well_known::{WellKnownKeyStatus, WellKnownPasetoDocument, WellKnownPasetoKey};