From b53cb8200899ad8bd0bd38d4e187db536f6b3e8f Mon Sep 17 00:00:00 2001 From: Zyy Date: Tue, 23 Jun 2026 18:10:13 +0800 Subject: [PATCH] fix: align auth config field names Co-authored-by: Codex --- src/config/types.rs | 10 ++++++---- src/runtime/services.rs | 4 ++-- src/runtime/tasks/coordinator.rs | 4 ++-- tests/integration/admin/accounts/mod.rs | 5 +++-- tests/integration/admin/auth/session_routes.rs | 5 +++-- tests/integration/admin/keys/mod.rs | 5 +++-- tests/integration/admin/models/routes.rs | 5 +++-- .../admin/monitoring/logs_routes.rs | 5 +++-- tests/integration/admin/settings/routes.rs | 5 +++-- tests/integration/config/mod.rs | 18 ++++++++++-------- tests/integration/http/web_assets/mod.rs | 5 +++-- .../proxy/dispatch/chat_upstream/mod.rs | 5 +++-- .../proxy/openai/diagnostics_routes.rs | 5 +++-- .../integration/proxy/openai/models_routes.rs | 5 +++-- .../proxy/openai/responses_routes.rs | 5 +++-- tests/integration/support/config.rs | 5 +++-- 16 files changed, 56 insertions(+), 40 deletions(-) diff --git a/src/config/types.rs b/src/config/types.rs index 591906b7e..1bd3b35f1 100644 --- a/src/config/types.rs +++ b/src/config/types.rs @@ -81,10 +81,12 @@ pub struct AuthConfig { pub rotation_strategy: String, /// 套餐优先级。 pub tier_priority: Vec, - /// Token 续期客户端 ID。 - pub token_client_id: String, - /// Token 续期端点。 - pub token_endpoint: String, + /// OAuth 客户端 ID。 + pub oauth_client_id: String, + /// OAuth 授权端点。 + pub oauth_auth_endpoint: String, + /// OAuth token 端点。 + pub oauth_token_endpoint: String, } /// 配额刷新与跳过配置。 diff --git a/src/runtime/services.rs b/src/runtime/services.rs index 8cfacedaa..2330d5b62 100644 --- a/src/runtime/services.rs +++ b/src/runtime/services.rs @@ -249,7 +249,7 @@ impl Services { fn token_client_config(config: &AppConfig) -> TokenClientConfig { TokenClientConfig { - client_id: config.auth.token_client_id.clone(), - token_endpoint: config.auth.token_endpoint.clone(), + client_id: config.auth.oauth_client_id.clone(), + token_endpoint: config.auth.oauth_token_endpoint.clone(), } } diff --git a/src/runtime/tasks/coordinator.rs b/src/runtime/tasks/coordinator.rs index 763a538a2..4446ba1a9 100644 --- a/src/runtime/tasks/coordinator.rs +++ b/src/runtime/tasks/coordinator.rs @@ -130,8 +130,8 @@ impl TaskCoordinator { fn token_client_config(config: &crate::runtime::state::RuntimeConfig) -> TokenClientConfig { TokenClientConfig { - client_id: config.auth.token_client_id.clone(), - token_endpoint: config.auth.token_endpoint.clone(), + client_id: config.auth.oauth_client_id.clone(), + token_endpoint: config.auth.oauth_token_endpoint.clone(), } } diff --git a/tests/integration/admin/accounts/mod.rs b/tests/integration/admin/accounts/mod.rs index 88bf3cf88..60407a63b 100644 --- a/tests/integration/admin/accounts/mod.rs +++ b/tests/integration/admin/accounts/mod.rs @@ -227,8 +227,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/admin/auth/session_routes.rs b/tests/integration/admin/auth/session_routes.rs index 454cc9fcb..2acca9104 100644 --- a/tests/integration/admin/auth/session_routes.rs +++ b/tests/integration/admin/auth/session_routes.rs @@ -191,8 +191,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: vec!["team".to_string(), "plus".to_string()], - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/admin/keys/mod.rs b/tests/integration/admin/keys/mod.rs index 15a65570c..8d0121260 100644 --- a/tests/integration/admin/keys/mod.rs +++ b/tests/integration/admin/keys/mod.rs @@ -134,8 +134,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/admin/models/routes.rs b/tests/integration/admin/models/routes.rs index b10bdee30..72a5f9c78 100644 --- a/tests/integration/admin/models/routes.rs +++ b/tests/integration/admin/models/routes.rs @@ -226,8 +226,9 @@ fn test_config(database_url: String, base_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/admin/monitoring/logs_routes.rs b/tests/integration/admin/monitoring/logs_routes.rs index 5717c6bcd..3018f3f07 100644 --- a/tests/integration/admin/monitoring/logs_routes.rs +++ b/tests/integration/admin/monitoring/logs_routes.rs @@ -296,8 +296,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/admin/settings/routes.rs b/tests/integration/admin/settings/routes.rs index 339f29759..8a5d9e8c6 100644 --- a/tests/integration/admin/settings/routes.rs +++ b/tests/integration/admin/settings/routes.rs @@ -329,8 +329,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: vec!["team".to_string(), "plus".to_string()], - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/config/mod.rs b/tests/integration/config/mod.rs index a79fddcce..02c2a04a6 100644 --- a/tests/integration/config/mod.rs +++ b/tests/integration/config/mod.rs @@ -21,8 +21,9 @@ auth: request_interval_ms: 50 rotation_strategy: least_used tier_priority: [] - token_client_id: app_EMoamEEZ73f0CkXaXp7hrann - token_endpoint: https://auth.openai.com/oauth/token + oauth_client_id: app_EMoamEEZ73f0CkXaXp7hrann + oauth_auth_endpoint: https://auth.openai.com/oauth/authorize + oauth_token_endpoint: https://auth.openai.com/oauth/token quota: refresh_interval_minutes: 5 warning_thresholds: @@ -110,9 +111,9 @@ fn default_config_keeps_only_codex_backend() { assert_eq!(cfg.model.default_model, "gpt-5.5"); assert_eq!(cfg.auth.refresh_margin_seconds, 300); assert_eq!(cfg.auth.rotation_strategy, "least_used"); - assert_eq!(cfg.auth.token_client_id, "app_EMoamEEZ73f0CkXaXp7hrann"); + assert_eq!(cfg.auth.oauth_client_id, "app_EMoamEEZ73f0CkXaXp7hrann"); assert_eq!( - cfg.auth.token_endpoint, + cfg.auth.oauth_token_endpoint, "https://auth.openai.com/oauth/token" ); assert!(cfg.ws_pool.enabled); @@ -163,8 +164,9 @@ auth: request_interval_ms: 50 rotation_strategy: least_used tier_priority: [] - token_client_id: app_test_client - token_endpoint: https://auth.example.test/oauth/token + oauth_client_id: app_test_client + oauth_auth_endpoint: https://auth.openai.com/oauth/authorize + oauth_token_endpoint: https://auth.example.test/oauth/token quota: refresh_interval_minutes: 5 warning_thresholds: @@ -268,9 +270,9 @@ ws_pool: ); assert_eq!(cfg.model.default_model, "gpt-5.5"); assert_eq!(cfg.auth.max_concurrent_per_account, 3); - assert_eq!(cfg.auth.token_client_id, "app_test_client"); + assert_eq!(cfg.auth.oauth_client_id, "app_test_client"); assert_eq!( - cfg.auth.token_endpoint, + cfg.auth.oauth_token_endpoint, "https://auth.example.test/oauth/token" ); assert!(cfg.ws_pool.enabled); diff --git a/tests/integration/http/web_assets/mod.rs b/tests/integration/http/web_assets/mod.rs index 45b1e9a6a..e5d25d61c 100644 --- a/tests/integration/http/web_assets/mod.rs +++ b/tests/integration/http/web_assets/mod.rs @@ -159,8 +159,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_id".to_string(), - token_endpoint: "https://auth.invalid/token".to_string(), + oauth_client_id: "app_id".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.invalid/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/proxy/dispatch/chat_upstream/mod.rs b/tests/integration/proxy/dispatch/chat_upstream/mod.rs index aa2d582a0..1ece0f544 100644 --- a/tests/integration/proxy/dispatch/chat_upstream/mod.rs +++ b/tests/integration/proxy/dispatch/chat_upstream/mod.rs @@ -1658,8 +1658,9 @@ fn test_config(database_url: String, base_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/proxy/openai/diagnostics_routes.rs b/tests/integration/proxy/openai/diagnostics_routes.rs index 619b51006..500c5a175 100644 --- a/tests/integration/proxy/openai/diagnostics_routes.rs +++ b/tests/integration/proxy/openai/diagnostics_routes.rs @@ -269,8 +269,9 @@ fn test_config(database_url: String, base_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/proxy/openai/models_routes.rs b/tests/integration/proxy/openai/models_routes.rs index 828db881f..f2a4b763f 100644 --- a/tests/integration/proxy/openai/models_routes.rs +++ b/tests/integration/proxy/openai/models_routes.rs @@ -139,8 +139,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/proxy/openai/responses_routes.rs b/tests/integration/proxy/openai/responses_routes.rs index 2a7f1dd54..069f6d970 100644 --- a/tests/integration/proxy/openai/responses_routes.rs +++ b/tests/integration/proxy/openai/responses_routes.rs @@ -202,8 +202,9 @@ fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5, diff --git a/tests/integration/support/config.rs b/tests/integration/support/config.rs index 53994b0f3..00011f800 100644 --- a/tests/integration/support/config.rs +++ b/tests/integration/support/config.rs @@ -29,8 +29,9 @@ pub fn test_config(database_url: String) -> AppConfig { request_interval_ms: 50, rotation_strategy: "least_used".to_string(), tier_priority: Vec::new(), - token_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), - token_endpoint: "https://auth.openai.com/oauth/token".to_string(), + oauth_client_id: "app_EMoamEEZ73f0CkXaXp7hrann".to_string(), + oauth_auth_endpoint: "https://auth.openai.com/oauth/authorize".to_string(), + oauth_token_endpoint: "https://auth.openai.com/oauth/token".to_string(), }, quota: QuotaConfig { refresh_interval_minutes: 5,