From 475b2bf66a7e2112e59acf1f02ff4d0a0230482b Mon Sep 17 00:00:00 2001 From: zxstty Date: Wed, 22 Oct 2025 15:57:17 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8Duser=5Fname=E8=8E=B7=E5=8F=96?= =?UTF-8?q?=E4=BA=A7=E7=94=9F=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- apps/routers/auth.py | 9 ++++++++- apps/schemas/config.py | 19 ++++++++++++------- 2 files changed, 20 insertions(+), 8 deletions(-) diff --git a/apps/routers/auth.py b/apps/routers/auth.py index 0de51f601..cb611d50b 100644 --- a/apps/routers/auth.py +++ b/apps/routers/auth.py @@ -122,7 +122,14 @@ async def oidc_login(request: Request, code: str = None, error: str = None, erro user_info = await oidc_provider.get_oidc_user(token["access_token"]) user_sub: str | None = user_info.get("user_sub", None) - user_name: str = user_info.get("user_name", "") + if Config().get_config().login.provider == "authelia": + user_name: str = user_info.get("user_name", "") + elif Config().get_config().login.provider == "authhub": + user_name: str = user_sub + else: + user_name: str = user_info.get("username", "") + if not user_name: + user_name = user_sub except Exception as e: logger.exception("User login failed") reason = "无法验证登录信息,请重试。" diff --git a/apps/schemas/config.py b/apps/schemas/config.py index 4ca82b88f..c9b0c507d 100644 --- a/apps/schemas/config.py +++ b/apps/schemas/config.py @@ -19,7 +19,7 @@ class AdminConfig(BaseModel): enable: bool = Field(description="是否启用管理员", default=False) user_sub: str = Field(description="管理员用户标识", default="openEuler") user_name: str = Field(description="管理员用户名", default="openEuler") - + class DeployConfig(BaseModel): """部署配置""" @@ -57,8 +57,10 @@ class FixedUserConfig(BaseModel): class LoginConfig(BaseModel): """OIDC配置""" - provider: Literal["authhub", "openeuler", "authelia", "disable"] = Field(description="OIDC Provider", default="authhub") - settings: OIDCConfig | AutheliaConfig | FixedUserConfig = Field(description="OIDC 配置") + provider: Literal["authhub", "openeuler", "authelia", "disable"] = Field( + description="OIDC Provider", default="authhub") + settings: OIDCConfig | AutheliaConfig | FixedUserConfig = Field( + description="OIDC 配置") class EmbeddingConfig(BaseModel): @@ -132,7 +134,8 @@ class LLMConfig(BaseModel): key: str = Field(description="LLM API密钥") endpoint: str = Field(description="LLM API URL地址") model: str = Field(description="LLM API 模型名") - max_tokens: int | None = Field(description="LLM API 最大Token数", default=None) + max_tokens: int | None = Field( + description="LLM API 最大Token数", default=None) temperature: float | None = Field(description="LLM API 温度", default=None) @@ -143,8 +146,10 @@ class FunctionCallConfig(BaseModel): model: str = Field(description="Function Call 模型名") endpoint: str = Field(description="Function Call API URL地址") api_key: str = Field(description="Function Call API密钥") - max_tokens: int | None = Field(description="Function Call 最大Token数", default=None) - temperature: float | None = Field(description="Function Call 温度", default=None) + max_tokens: int | None = Field( + description="Function Call 最大Token数", default=None) + temperature: float | None = Field( + description="Function Call 温度", default=None) class SecurityConfig(BaseModel): @@ -172,7 +177,7 @@ class SandboxConfig(BaseModel): class ExtraConfig(BaseModel): """额外配置""" - sql_url: str = Field(description="SQL API URL") + sql_url: str = Field(default="", description="SQL API URL") class ConfigModel(BaseModel): -- Gitee