feat: support upstream token refresh

This commit is contained in:
liumangmang
2026-06-30 14:34:40 +08:00
parent 2d1dcb8f9f
commit c5bb63cf82
15 changed files with 895 additions and 140 deletions
+5 -1
View File
@@ -5,6 +5,9 @@ from pydantic import BaseModel, Field
class AuthConfigBearer(BaseModel):
token: str = ""
refresh_token: str = ""
expires_in: Optional[int] = None
token_expires_at: Optional[int] = None
class AuthConfigApiKey(BaseModel):
@@ -16,13 +19,14 @@ class AuthConfigLoginPassword(BaseModel):
email: str = ""
password: str = ""
login_path: str = "/auth/login"
username_field: str = "email"
class UpstreamCreate(BaseModel):
name: str
base_url: str
api_prefix: str = "/api/v1"
auth_type: str = "login_password" # none | bearer | api_key | login_password
auth_type: str = "login_password" # none | bearer | new_api_token | nox_token | api_key | cookie | login_password
auth_config: dict[str, Any] = {}
rate_endpoint: str = "/groups/rates"
groups_endpoint: str = "/groups/available"