mirror of
https://github.com/TheSmallHanCat/sora2api.git
synced 2026-02-11 15:44:41 +08:00
fix: 批量导入不走代理
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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 = {
|
||||
|
||||
Reference in New Issue
Block a user