swink_agent_auth/lib.rs
1#![forbid(unsafe_code)]
2//! Credential management and OAuth2 support for `swink-agent`.
3//!
4//! This crate provides:
5//! - [`InMemoryCredentialStore`] — thread-safe in-memory credential storage
6//! - [`DefaultCredentialResolver`] — credential resolution with expiry checking,
7//! OAuth2 refresh, and concurrent request deduplication
8//! - OAuth2 token refresh helpers
9
10mod in_memory;
11pub mod oauth2;
12mod resolver;
13mod token_source;
14
15pub use in_memory::InMemoryCredentialStore;
16pub use resolver::DefaultCredentialResolver;
17pub use token_source::{ExpiringValue, SingleFlightTokenSource};