Skip to main content

vtcode_auth/
lib.rs

1//! Shared authentication and OAuth flows for VT Code.
2
3mod auth_service;
4mod config;
5pub mod credentials;
6pub mod mcp_oauth;
7pub mod oauth_server;
8pub mod openai_chatgpt_oauth;
9pub mod openrouter_oauth;
10pub mod pkce;
11mod storage_paths;
12
13pub use auth_service::OpenAIAccountAuthService;
14pub use config::{AuthConfig, CopilotAuthConfig, OpenAIAuthConfig, OpenAIPreferredMethod};
15pub use credentials::{
16    AuthCredentialsStoreMode, CredentialStorage, CustomApiKeyStorage, clear_custom_api_keys,
17    load_custom_api_keys, migrate_custom_api_keys_to_keyring,
18};
19pub use mcp_oauth::{
20    McpOAuthConfig, McpOAuthLoginCompletion, McpOAuthPreparedLogin, McpOAuthService,
21    McpOAuthStatus, McpOAuthToken,
22};
23pub use oauth_server::{
24    AuthCallbackOutcome, AuthCodeCallbackServer, OAuthCallbackPage, OAuthProvider,
25    run_auth_code_callback_server, start_auth_code_callback_server,
26};
27pub use openai_chatgpt_oauth::{
28    OpenAIChatGptAuthHandle, OpenAIChatGptAuthStatus, OpenAIChatGptSession,
29    OpenAIChatGptSessionRefresher, OpenAICredentialOverview, OpenAIResolvedAuth,
30    OpenAIResolvedAuthSource, clear_openai_chatgpt_session, clear_openai_chatgpt_session_with_mode,
31    exchange_openai_chatgpt_code_for_tokens, generate_openai_oauth_state,
32    get_openai_chatgpt_auth_status, get_openai_chatgpt_auth_status_with_mode,
33    get_openai_chatgpt_auth_url, load_openai_chatgpt_session,
34    load_openai_chatgpt_session_with_mode, parse_openai_chatgpt_manual_callback_input,
35    refresh_openai_chatgpt_session_with_mode, resolve_openai_auth, save_openai_chatgpt_session,
36    save_openai_chatgpt_session_with_mode, summarize_openai_credentials,
37};
38pub use openrouter_oauth::{
39    AuthStatus, OpenRouterOAuthConfig, OpenRouterToken, clear_oauth_token,
40    clear_oauth_token_with_mode, exchange_code_for_token, get_auth_status,
41    get_auth_status_with_mode, get_auth_url, load_oauth_token, load_oauth_token_with_mode,
42    save_oauth_token, save_oauth_token_with_mode,
43};
44pub use pkce::{PkceChallenge, generate_pkce_challenge};