diff --git a/backend/app/api/auth/router.py b/backend/app/api/auth/router.py index 1306e24..f3fdb37 100644 --- a/backend/app/api/auth/router.py +++ b/backend/app/api/auth/router.py @@ -76,16 +76,26 @@ async def login( # Find or create user in local database user = db.query(User).filter(User.email == login_request.email).first() + # Get name from auth API response (nested in data.userInfo.name) + user_info = auth_result.get("data", {}).get("userInfo", {}) + auth_name = user_info.get("name", login_request.email.split("@")[0]) + if not user: # Create new user based on auth API response user = User( email=login_request.email, - name=auth_result.get("name", login_request.email.split("@")[0]), + name=auth_name, is_active=True, ) db.add(user) db.commit() db.refresh(user) + else: + # Sync user name from external auth system on each login + if user.name != auth_name: + user.name = auth_name + db.commit() + db.refresh(user) if not user.is_active: raise HTTPException( diff --git a/backend/app/schemas/audit.py b/backend/app/schemas/audit.py index 3cd4f16..02fbdcf 100644 --- a/backend/app/schemas/audit.py +++ b/backend/app/schemas/audit.py @@ -10,7 +10,7 @@ class AuditLogResponse(BaseModel): resource_id: Optional[str] user_id: Optional[str] action: str - changes: Optional[List[dict]] + changes: Optional[Any] # Can be List[dict] or dict depending on event type request_metadata: Optional[dict] sensitivity_level: str checksum: str