Expand description
OAuth 2.0 authentication primitives for the Aether agent framework.
§Architecture
authorize_in_browser– Opens the system browser on an authorization URL and returns the absolute callback URL.OAuthCredentialStorage– Trait for persisting OAuth credentials keyed by provider ID, MCP server ID, or another credential key.- [
KeyringCredentialStore] – OS-keychain-backedOAuthCredentialStorage(macOS Keychain, Windows Credential Manager, Linux/FreeBSD Secret Service). Available under thekeyringfeature. EncryptedFileCredentialStore– File-backedOAuthCredentialStoragethat encrypts the file withage. The passphrase is read from an environment variable.MemoryCredentialStore– In-memory storage, for tests and sessions that should not persist credentials.bind_loopback/accept_oauth_callback– Listen for an OAuth redirect on a local port.
MCP server OAuth lives in aether-mcp-utils, which drives rmcp’s authorization state machine with these primitives.
§Errors
All OAuth-specific errors are represented by OAuthError.
Re-exports§
pub use encrypted_file::EncryptedFileCredentialStore;pub use error::OAuthError;
Modules§
Structs§
- Memory
Credential Store - OAuth
Credential - Credential for a non-MCP OAuth provider.
Traits§
- OAuth
Credential Storage - Storage for namespaced, opaque OAuth JSON values.
Functions§
- accept_
oauth_ callback - Accept an OAuth callback and return its absolute URL.
- authorize_
in_ browser - bind_
loopback - oauth_
http_ client - Build an
OAuth2HTTP client that never follows redirects.