Skip to main content

max / goingson

705 B · 20 lines History Blame Raw
1 //! OAuth2 authentication module for email providers.
2 //!
3 //! Supports OAuth2 with PKCE for secure token exchange without client secrets.
4 //! Implements a generic provider system for multiple email services:
5 //! - Fastmail (JMAP API)
6 //! - Google/Gmail (Gmail API or IMAP via XOAUTH2)
7 //! - Microsoft/Outlook (Microsoft Graph or IMAP via XOAUTH2)
8
9 pub mod callback_server;
10 pub mod credentials;
11 pub mod provider;
12 pub mod providers;
13 pub mod token_manager;
14
15 pub use callback_server::OAuthCallbackServer;
16 pub use credentials::{CredentialStore, OAuthCredentials};
17 pub use provider::{OAuthProvider, OAuthProviderConfig, OAuthStartResult, TokenResult};
18 pub use providers::*;
19 pub use token_manager::TokenManager;
20