From 77b983759956322fcd2259de4f1094217535dcdb Mon Sep 17 00:00:00 2001 From: zhaoqingang <zhaoqg0118@163.com> Date: 星期四, 13 二月 2025 17:59:08 +0800 Subject: [PATCH] 登录问题优化 --- app/service/ragflow.py | 2 +- app/config/env_conf/config.yaml | 4 ++-- app/service/difyService.py | 2 +- app/api/user.py | 2 ++ app/api/auth.py | 6 +++--- 5 files changed, 9 insertions(+), 7 deletions(-) diff --git a/app/api/auth.py b/app/api/auth.py index c17b48b..abb3474 100644 --- a/app/api/auth.py +++ b/app/api/auth.py @@ -125,16 +125,14 @@ continue try: name = login_data.username - email = "" app_password = login_data.password user_app = await UserAppDao(db).get_data_by_id(user.id, app["id"]) if user_app: name = user_app.username - email = user_app.email app_password = user_app.decrypted_password(user_app.password) else: await update_user_info(db, user.id) - token = await service.login(name, app_password,email=email) + token = await service.login(name, app_password) token_dict[app["id"]] = token except Exception as e: return Response(code=500, msg=f"Failed to login with {app['id']}: {str(e)}") @@ -172,6 +170,8 @@ @router.post("/v2/register", response_model=Response) async def register_v2(user: UserCreate, db=Depends(get_db)): + if "@" in user.username: + return Response(code=400, msg="Username cannot contain @") password = await password_rsa(user.password) if not is_valid_password(password): return Response(code=400, msg="The password must be at least 8 and contain both numbers and letters") diff --git a/app/api/user.py b/app/api/user.py index 57171ff..52d1e0f 100644 --- a/app/api/user.py +++ b/app/api/user.py @@ -23,6 +23,8 @@ async def add_user(user: UserInfo, current_user: UserModel = Depends(get_current_user), db=Depends(get_db)): if not user.userName: return Response(code=400, msg="The userName cannot be empty!") + if "@" in user.username: + return Response(code=400, msg="Username cannot contain @") if user.pwd: if not is_valid_password(user.pwd): return Response(code=400, msg="The password must be at least 8 and contain both numbers and letters") diff --git a/app/config/env_conf/config.yaml b/app/config/env_conf/config.yaml index 14a2719..14c5ce7 100644 --- a/app/config/env_conf/config.yaml +++ b/app/config/env_conf/config.yaml @@ -2,7 +2,7 @@ sgb_base_url: http://192.168.20.119:13001 sgb_websocket_url: ws://192.168.20.119:13001 fwr_base_url: http://192.168.20.119:11080 -database_url: mysql+pymysql://root:rag_gateway@192.168.20.117:23306/rag_gateway +database_url: mysql+pymysql://root:rag_gateway@192.168.20.116:23306/rag_gateway sgb_db_url: mysql+pymysql://root:1234@192.168.20.119:13306/bisheng fwr_db_url: mysql+pymysql://root:infini_rag_flow@192.168.20.119:15455/rag_flow PUBLIC_KEY: | @@ -17,7 +17,7 @@ basic_paper_url: http://192.168.20.231:8000 dify_base_url: http://192.168.20.116 dify_api_token: app-YmOAMDsPpDDlqryMHnc9TzTO -postgresql_database_url: postgresql+asyncpg://kong:kongpass@192.168.20.117:5432/kong +postgresql_database_url: postgresql+asyncpg://kong:kongpass@192.168.20.116:5432/kong dify_workflow_clean: app-OpF0drPu0XcgqcekQpT4FA8a dify_workflow_report: app-0MAkdFWqh9zxwmU69O0BFU1s dify_database_url: postgresql+psycopg2://postgres:difyai123456@192.168.20.116:15432/dify diff --git a/app/service/difyService.py b/app/service/difyService.py index 21117e8..595ca4c 100644 --- a/app/service/difyService.py +++ b/app/service/difyService.py @@ -74,7 +74,7 @@ async def login(self, username: str, password: str, remember_me=True, invite_token:str="", email="") -> str: # password = RagflowCrypto(settings.PUBLIC_KEY, settings.PRIVATE_KEY).encrypt(password) - data = {"email":email if email else f"{username}@basic.com", "password": password, "remember_me": remember_me, "invite_token": invite_token, + data = {"email":username if "@" in username else f"{username}@basic.com", "password": password, "remember_me": remember_me, "invite_token": invite_token, "language": "zh-Hans"} async with httpx.AsyncClient() as client: diff --git a/app/service/ragflow.py b/app/service/ragflow.py index 08cc26f..f0e6fd8 100644 --- a/app/service/ragflow.py +++ b/app/service/ragflow.py @@ -54,7 +54,7 @@ response = await client.post( f"{self.base_url}/v1/user/login", headers={'Content-Type': 'application/json'}, - json={"email": email if email else f"{username}@example.com", "password": password} + json={"email": username if "@" in username else f"{username}@example.com", "password": password} ) if response.status_code != 200: raise Exception(f"Ragflow login failed: {response.text}") -- Gitblit v1.8.0