11import os
2+ import logging
23import hashlib
34import bcrypt
45from fastapi import Header , HTTPException , Depends
56from sqlalchemy .orm import Session
67from database import get_db
78from models import User
89
10+ logging .basicConfig (level = logging .DEBUG )
11+ logger = logging .getLogger (__name__ )
12+
913PASSWORD_SALT = os .getenv ("PASSWORD_SALT" , "default-salt-change-me" ).encode ()
1014
1115
@@ -31,11 +35,20 @@ def get_current_user(
3135 x_auth_key : str = Header (None ),
3236 db : Session = Depends (get_db ),
3337) -> User :
38+ key_hint = f"'{ x_auth_key [:8 ]} ...' len={ len (x_auth_key )} " if x_auth_key else "None"
39+ logger .debug (f"Auth: user='{ x_auth_user } ' key={ key_hint } " )
40+
3441 if not x_auth_user or not x_auth_key :
3542 raise HTTPException (status_code = 401 , detail = "Unauthorized" )
3643
3744 user = db .query (User ).filter (User .username == x_auth_user ).first ()
38- if not user or not verify_password (x_auth_key , user .password_hash ):
45+ if not user :
46+ logger .debug (f"User '{ x_auth_user } ' not found" )
47+ raise HTTPException (status_code = 401 , detail = "Unauthorized" )
48+
49+ if not verify_password (x_auth_key , user .password_hash ):
50+ logger .debug (f"Password mismatch for '{ x_auth_user } '" )
3951 raise HTTPException (status_code = 401 , detail = "Unauthorized" )
4052
53+ logger .debug (f"Auth OK for '{ x_auth_user } '" )
4154 return user
0 commit comments