mockforge_http/auth/
state.rs1use super::types::AuthResult;
7use mockforge_core::{config::AuthConfig, OpenApiSpec};
8use std::collections::HashMap;
9use std::sync::Arc;
10use tokio::sync::RwLock;
11
12#[derive(Debug, Clone)]
14pub struct CachedIntrospection {
15 pub result: AuthResult,
17 pub expires_at: i64,
19}
20
21#[derive(Clone)]
23pub struct AuthState {
24 pub config: AuthConfig,
25 pub spec: Option<Arc<OpenApiSpec>>,
26 pub oauth2_client: Option<oauth2::basic::BasicClient>,
27 pub introspection_cache: Arc<RwLock<HashMap<String, CachedIntrospection>>>,
29}