threatflux_auth_sdk/
lib.rs

1#![allow(
2    clippy::missing_errors_doc,
3    clippy::missing_panics_doc,
4    clippy::needless_for_each,
5    clippy::significant_drop_tightening,
6    clippy::missing_const_for_fn,
7    clippy::future_not_send,
8    clippy::too_long_first_doc_paragraph,
9    clippy::needless_raw_string_hashes,
10    clippy::match_wildcard_for_single_variants,
11    clippy::ignored_unit_patterns,
12    clippy::doc_markdown,
13    clippy::cast_precision_loss,
14    clippy::cast_lossless,
15    clippy::unnecessary_wraps,
16    clippy::option_if_let_else,
17    clippy::trivially_copy_pass_by_ref,
18    clippy::too_many_lines,
19    clippy::cast_sign_loss,
20    clippy::map_unwrap_or,
21    clippy::ref_binding_to_reference,
22    clippy::needless_pass_by_value,
23    clippy::redundant_closure_for_method_calls,
24    clippy::inefficient_to_string,
25    clippy::manual_let_else,
26    clippy::cast_possible_truncation,
27    clippy::equatable_if_let,
28    clippy::redundant_pub_crate,
29    clippy::if_not_else,
30    clippy::unused_self,
31    clippy::use_self
32)]
33
34pub mod error;
35pub mod handlers;
36pub mod hooks;
37pub mod models;
38pub mod oauth;
39pub mod oauth_provider;
40pub mod openapi;
41pub mod service;
42pub mod services;
43pub mod state;
44pub mod validation;
45
46pub mod extractor;
47pub mod store;
48
49#[cfg(any(test, feature = "test-utils"))]
50pub mod test_utils;
51
52pub use hooks::{
53    LoginContext, LoginHook, LoginHooks, LoginMethod, LogoutContext, LogoutHook, LogoutHooks,
54    OAuthCallbackHooks, OAuthLoginToken, OAuthPostLoginContext, OAuthPostLoginHook,
55    OAuthPostLoginResult,
56};
57pub use openapi::AuthApiDoc;
58
59// Public API exports
60pub use error::AuthError;
61pub use handlers::{mfa_routes, router, session_routes, webauthn_routes};
62pub use models::*;
63pub use state::AuthState;
64pub use validation::*;
65
66// Re-export common types for convenience
67pub use axum::http::StatusCode;
68pub use axum::response::Json;
69pub use serde_json::Value as JsonValue;
70
71// Store backends and configs
72pub use store::{AuthStore, MemoryStore, PostgresStore, PostgresStoreConfig, SearchAuthStore};
73pub use threatflux_search::SearchConfig;
74
75// Services for MFA, tokens, devices, and WebAuthn
76pub use services::{
77    DeviceService, EmailSender, MfaService, NoOpEmailSender, TokenService, WebAuthnService,
78};