openid/
lib.rs

1#![doc = include_str!("../README.md")]
2#![warn(
3    missing_docs,
4    missing_debug_implementations,
5    missing_copy_implementations,
6    trivial_casts,
7    trivial_numeric_casts,
8    unused_extern_crates,
9    unused_import_braces,
10    unused_qualifications,
11    variant_size_differences
12)]
13mod address;
14mod bearer;
15mod claims;
16mod client;
17mod config;
18mod configurable;
19mod custom_claims;
20mod deserializers;
21mod discovered;
22mod display;
23pub mod error;
24mod options;
25pub mod pkce;
26mod prompt;
27pub mod provider;
28mod standard_claims;
29mod standard_claims_subject;
30mod token;
31mod token_introspection;
32mod userinfo;
33/// Token validation methods.
34pub mod validation;
35
36/// UMA2 OIDC/OAuth2 extension.
37///
38/// See [Federated Authorization for User-Managed Access (UMA) 2.0](https://docs.kantarainitiative.org/uma/wg/oauth-uma-federated-authz-2.0-09.html)
39#[cfg(any(feature = "uma2", doc))]
40pub mod uma2;
41
42pub use ::biscuit::{jws::Compact as Jws, Compact, CompactJson, Empty, SingleOrMultiple};
43pub use address::Address;
44pub use bearer::{Bearer, TemporalBearerGuard};
45pub use claims::Claims;
46pub use client::Client;
47pub use config::Config;
48pub use configurable::Configurable;
49pub use custom_claims::CustomClaims;
50pub use discovered::Discovered;
51pub use display::Display;
52pub use error::{OAuth2Error, OAuth2ErrorCode};
53pub use options::Options;
54pub use pkce::{generate_s256_pkce, Pkce, PkceSha256};
55pub use prompt::Prompt;
56pub use provider::Provider;
57pub use standard_claims::StandardClaims;
58pub use standard_claims_subject::StandardClaimsSubject;
59pub use token::Token;
60pub use token_introspection::TokenIntrospection;
61pub use userinfo::Userinfo;
62
63/// Reimport `biscuit` dependency.
64pub mod biscuit {
65    pub use biscuit::*;
66}
67
68/// Alias for [Jws]
69pub type IdToken<T> = Jws<T, Empty>;
70/// Alias for discovered [Client].
71///
72/// See also:
73///
74/// - [Discovered]
75/// - [StandardClaims]
76pub type DiscoveredClient = Client<Discovered, StandardClaims>;
77/// Alias for discovered UMA2 [Client]
78///
79/// See also:
80///
81/// - [uma2::DiscoveredUma2]
82/// - [StandardClaims]
83#[cfg(feature = "uma2")]
84pub type DiscoveredUma2Client = Client<uma2::DiscoveredUma2, StandardClaims>;