jwt_verify/
lib.rs

1// JWT verification library for AWS Cognito tokens and any OIDC-compatible IDP
2//
3// This library provides robust token validation, better error handling,
4// and follows security best practices for AWS Cognito tokens.
5
6pub mod claims;
7mod cognito;
8mod common;
9pub mod integration;
10mod jwk;
11pub mod oidc;
12pub mod verifier;
13
14// Re-export public API
15pub use claims::{
16    CognitoAccessTokenClaims, CognitoIdTokenClaims, CognitoJwtClaims, 
17    OidcAccessTokenClaims, OidcIdTokenClaims, OidcJwtClaims,
18    ClaimValidator, ClaimsValidator, ExistenceValidator, StringValueValidator, 
19    AllowedValuesValidator, NumericRangeValidator, BooleanValidator, 
20    RegexValidator, ArrayContainsValidator, AndValidator, OrValidator
21};
22pub use cognito::{CognitoJwtVerifier, VerifierConfig, TokenUse};
23pub use common::error::ErrorVerbosity;
24pub use common::error::{JwtError, PublicJwtError};
25pub use common::token::TokenType;
26pub use integration::{
27    Headers, TokenExtractor, HeaderTokenExtractor, ChainedTokenExtractor, 
28    DebugTokenExtractor, TokenExtractorConfig
29};
30pub use jwk::{provider::JwkProvider, registry::JwkProviderRegistry, registry::RegistryError};
31pub use oidc::{OidcProviderConfig, OidcJwtVerifier};
32pub use verifier::{JwtVerifier, IdTokenClaims, AccessTokenClaims, VerifierType, VerifierFactory, JwtVerifierEnum};
33
34#[cfg(feature = "axum-integration")]
35pub use integration::axum::axum_integration;