wu981526092 commited on
Commit
3c7f84c
·
1 Parent(s): cf1d34e

Fix usage tracker to read user from session

Browse files

🐛 Critical Fix:
- Usage tracker was only reading user from request.state.user
- After removing auth middleware, this was always None
- Now usage tracker also checks request.session for user data
- This should fix 'anonymous' user tracking after successful login

This was the root cause of users appearing as anonymous
even after successful OAuth authentication.

backend/middleware/usage_tracker.py CHANGED
@@ -45,8 +45,13 @@ class UsageTrackingMiddleware(BaseHTTPMiddleware):
45
  """Track API usage and log user activity."""
46
  start_time = time.time()
47
 
48
- # Get user info from request state (set by auth middleware)
49
  user = getattr(request.state, "user", None)
 
 
 
 
 
50
  user_id = user.get("username", "anonymous") if user else "anonymous"
51
  user_auth_method = user.get("auth_method", "none") if user else "none"
52
 
 
45
  """Track API usage and log user activity."""
46
  start_time = time.time()
47
 
48
+ # Get user info from request state (set by auth middleware) or session
49
  user = getattr(request.state, "user", None)
50
+ if not user:
51
+ try:
52
+ user = request.session.get("user")
53
+ except (AttributeError, AssertionError):
54
+ user = None
55
  user_id = user.get("username", "anonymous") if user else "anonymous"
56
  user_auth_method = user.get("auth_method", "none") if user else "none"
57