fix: 批量导入不走代理

This commit is contained in:
TheSmallHanCat
2026-01-09 20:11:24 +08:00
parent 1cf80a2489
commit 795e0b2670
2 changed files with 11 additions and 6 deletions

View File

@@ -382,7 +382,10 @@ async def import_tokens(request: ImportTokensRequest, token: str = Depends(verif
if not import_item.session_token:
raise ValueError("ST导入模式需要提供 session_token")
# Convert ST to AT
st_result = await token_manager.st_to_at(import_item.session_token)
st_result = await token_manager.st_to_at(
import_item.session_token,
proxy_url=import_item.proxy_url
)
access_token = st_result["access_token"]
# Update email if API returned it
if "email" in st_result and st_result["email"]:
@@ -396,7 +399,8 @@ async def import_tokens(request: ImportTokensRequest, token: str = Depends(verif
# Convert RT to AT
rt_result = await token_manager.rt_to_at(
import_item.refresh_token,
client_id=import_item.client_id
client_id=import_item.client_id,
proxy_url=import_item.proxy_url
)
access_token = rt_result["access_token"]
# Update RT if API returned new one

View File

@@ -475,10 +475,10 @@ class TokenManager:
print(f"📄 响应内容: {response.text[:500]}")
raise Exception(f"Failed to activate Sora2: {response.status_code}")
async def st_to_at(self, session_token: str) -> dict:
async def st_to_at(self, session_token: str, proxy_url: Optional[str] = None) -> dict:
"""Convert Session Token to Access Token"""
debug_logger.log_info(f"[ST_TO_AT] 开始转换 Session Token 为 Access Token...")
proxy_url = await self.proxy_manager.get_proxy_url()
proxy_url = await self.proxy_manager.get_proxy_url(proxy_url=proxy_url)
async with AsyncSession() as session:
headers = {
@@ -555,19 +555,20 @@ class TokenManager:
debug_logger.log_info(f"[ST_TO_AT] 🔴 异常: {str(e)}")
raise
async def rt_to_at(self, refresh_token: str, client_id: Optional[str] = None) -> dict:
async def rt_to_at(self, refresh_token: str, client_id: Optional[str] = None, proxy_url: Optional[str] = None) -> dict:
"""Convert Refresh Token to Access Token
Args:
refresh_token: Refresh Token
client_id: Client ID (optional, uses default if not provided)
proxy_url: Proxy URL (optional, uses global proxy if not provided)
"""
# Use provided client_id or default
effective_client_id = client_id or "app_LlGpXReQgckcGGUo2JrYvtJK"
debug_logger.log_info(f"[RT_TO_AT] 开始转换 Refresh Token 为 Access Token...")
debug_logger.log_info(f"[RT_TO_AT] 使用 Client ID: {effective_client_id[:20]}...")
proxy_url = await self.proxy_manager.get_proxy_url()
proxy_url = await self.proxy_manager.get_proxy_url(proxy_url=proxy_url)
async with AsyncSession() as session:
headers = {