Skip to main content

rustauth_oauth/oauth2/
mod.rs

1//! OAuth 2.0 structure for RustAuth.
2
3pub mod authorization_url;
4#[cfg(feature = "jose")]
5pub mod claims;
6pub mod client;
7pub mod client_credentials_token;
8pub mod error;
9pub mod http;
10#[cfg(feature = "jose")]
11pub mod introspection;
12#[cfg(feature = "jose")]
13pub mod jwks;
14pub mod provider;
15pub mod refresh_access_token;
16pub(crate) mod request;
17pub(crate) mod ssrf;
18#[cfg(feature = "jose")]
19pub mod token_validation;
20pub mod tokens;
21pub mod types;
22pub mod utils;
23pub mod validate_authorization_code;
24#[cfg(feature = "jose")]
25pub mod verify;
26
27pub use authorization_url::{
28    create_authorization_url, validate_authorization_url_invariants, AuthorizationUrlRequest,
29};
30#[cfg(feature = "jose")]
31pub use claims::{parse_numeric_timestamp_claim, TokenValidationOptions};
32pub use client::{
33    exchange_authorization_code, refresh_access_token_at, submit_token_form,
34    AuthorizationUrlBuilder, ClientCredentialsBuilder, ExchangeCodeBuilder, OAuth2Client,
35    OAuth2ClientBuilder, RefreshTokenBuilder,
36};
37pub use client_credentials_token::{
38    create_client_credentials_token_request, ClientCredentialsTokenRequest,
39};
40pub use error::OAuthError;
41pub use http::{OAuthHttpClient, OAuthHttpClientConfig};
42pub use provider::{
43    OAuthProviderMetadata, SocialAuthorizationCodeRequest, SocialAuthorizationUrlRequest,
44    SocialIdTokenRequest, SocialOAuthProvider, SocialProviderFuture,
45};
46pub use refresh_access_token::{create_refresh_access_token_request, RefreshAccessTokenRequest};
47pub use request::{ClientAuthentication, OAuthFormRequest};
48pub use ssrf::url_host_is_blocked_ip;
49#[cfg(feature = "jose")]
50pub use token_validation::{
51    validate_token, verify_jws_with_jwks, TokenValidationResult, ValidateTokenOptions,
52};
53pub use tokens::{
54    get_oauth2_tokens, get_primary_client_id, ClientId, OAuth2Tokens, OAuth2UserInfo,
55    ProviderOptions,
56};
57pub use types::{AuthorizationEndpoint, ClientSecret, RedirectUri, TokenEndpoint};
58pub use utils::{generate_code_challenge, validate_code_verifier};
59pub use validate_authorization_code::{
60    create_authorization_code_request, AuthorizationCodeRequest,
61};
62#[cfg(feature = "jose")]
63pub use verify::{
64    clear_jwks_cache, get_jwks, get_jwks_with_http, verify_access_token, verify_jws_access_token,
65    JwksVerifyOptions, OAuthJwksCacheConfig, VerifyAccessTokenOptions, VerifyAccessTokenRemote,
66};