From 91062dda27e06bf29eaa78eff47ba505ad19b7a2 Mon Sep 17 00:00:00 2001
From: zhaoqingang <zhaoqg0118@163.com>
Date: 星期三, 18 十二月 2024 16:00:31 +0800
Subject: [PATCH] 机构接口优化
---
app/service/auth.py | 19 +++++++++++--------
1 files changed, 11 insertions(+), 8 deletions(-)
diff --git a/app/service/auth.py b/app/service/auth.py
index 4353fcd..d32d8db 100644
--- a/app/service/auth.py
+++ b/app/service/auth.py
@@ -1,6 +1,8 @@
import re
+import uuid
from datetime import datetime, timedelta
from typing import Type
+from uuid import uuid4
from jwt import encode, decode, exceptions
from passlib.context import CryptContext
@@ -9,7 +11,7 @@
from Log import logger
from app.config.config import settings
-from app.config.const import RAGFLOW, BISHENG, DIFY
+from app.config.const import RAGFLOW, BISHENG, DIFY, USER_STATSU_DELETE
from app.models import RoleModel, GroupModel, TokenModel
from app.models.user_model import UserModel, UserAppModel
# from app.service.ragflow import RagflowService
@@ -32,7 +34,7 @@
def authenticate_user(db, username: str, password: str):
- user = db.query(UserModel).filter(UserModel.username == username).first()
+ user = db.query(UserModel).filter(UserModel.username == username, UserModel.status != USER_STATSU_DELETE).first()
if not user:
return False
if not verify_password(password, user.hashed_password):
@@ -60,7 +62,7 @@
def is_valid_password(password: str) -> bool:
- if len(password) <= 8:
+ if len(password) < 8:
return False
has_digit = re.search(r'[0-9]', password)
has_letter = re.search(r'[A-Za-z]', password)
@@ -69,12 +71,13 @@
return has_digit is not None and has_letter is not None
-async def save_register_user(db, username, password, email, register_dict):
+async def save_register_user(db, username, password, email, app_password, register_dict):
user_id = ""
+ sync_flag = str(uuid.uuid4())
try:
hashed_password = pwd_context.hash(password)
- db_user = UserModel(username=username, hashed_password=hashed_password, email=email)
- pwd = db_user.encrypted_password(password)
+ db_user = UserModel(username=username, hashed_password=hashed_password, email=email, sync_flag=sync_flag)
+ pwd = db_user.encrypted_password(app_password)
db_user.password = pwd
db_user.roles = [db.query(RoleModel).filter(RoleModel.role_type == 2).first()]
db_user.groups = [db.query(GroupModel).filter(GroupModel.group_type == 2).first()]
@@ -92,7 +95,7 @@
db.query(UserModel).filter(UserModel.id == user_id).delete()
db.commit
return False
- return user_id
+ return sync_flag
async def update_user_token(db, user_id, token_dict):
@@ -139,7 +142,7 @@
# db.commit()
# db.refresh(db_user)
- is_sava = await save_register_user(db, user.username, user.password, user.email, register_dict)
+ # is_sava = await save_register_user(db, user.username, user.password, user.email, register_dict)
class UserAppDao:
def __init__(self, db: Session):
--
Gitblit v1.8.0