1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
//! # 🔎 id_token_verifier ✅
//!
//! [](https://crates.io/crates/id_token_verifier)
//! [](https://codecov.io/gh/yevtyushkin/id_token_verifier)
//!
//! A feature-rich, highly configurable OpenID Connect ID token verifier in Rust — empowering you to validate ID tokens as
//! easily as this, while handling retries, caching, and more under the hood:
//!
//! ```rust,no_run
//! use id_token_verifier::*;
//! use id_token_verifier::client::*;
//!
//! #[derive(serde::Deserialize)]
//! struct MyClaims {
//! sub: String,
//! email: Option<String>,
//! email_verified: Option<bool>,
//! }
//!
//! async fn verify(
//! token: &str,
//! id_token_verifier: &IdTokenVerifierDefault
//! ) -> Result<MyClaims, IdTokenVerifierError> {
//! id_token_verifier.verify(token).await
//! }
//! ```
//!
//! ### ✨ Features
//!
//! - 🔁 Configurable JWKS caching, including background refresh.
//! - 🛠 Pluggable retry logic via [backoff_config](https://github.com/yevtyushkin/backoff_config)
//! and [backon](https://github.com/Xuanwo/backon).
//! - ⚙️ Flexible validation settings.
//! - 🧩 [serde](https://github.com/serde-rs/serde)-friendly configuration — load from config files or environment variables,
//! or use the provided config `Builder`s.
//! - 📈 [tracing](https://github.com/tokio-rs/tracing) support via the optional tracing `feature` flag.
//!
//! ## 📚 Examples
//!
//! - ✅ [Validating Google ID tokens](https://github.com/yevtyushkin/id_token_verifier/tree/main/examples)
//! Includes full setup for retries, JWKS caching, and validation settings.
pub use backoff_config;
pub use reqwest;
pub use *;