88from fastapi import APIRouter , Depends , Header
99from pydantic import BaseModel
1010from commons import config as c
11- from commons .utils import get_user_from_jwt
11+ from commons .utils import get_user_from_jwt , get_user_id_from_jwt
1212
1313
1414auth_router = APIRouter (prefix = "" , tags = ["authentication" ])
@@ -31,7 +31,7 @@ class SignUpModal(BaseModel):
3131def login (auth : AuthModel , db : Session = Depends (database .db_session )):
3232 user : User = db .query (User ).filter (User .username == auth .username ).first () # type: ignore
3333 if user is not None and sha256_crypt .verify (auth .password , user .password ): # type: ignore
34- token = jwt .encode (payload = {"username" : auth .username }, key = c .JWT_SECRET )
34+ token = jwt .encode (payload = {"username" : auth .username , "userid" : user . id }, key = c .JWT_SECRET )
3535 response = {"msg" : "success" , "token" : token }
3636 else :
3737 response = {"msg" : "failed" }
@@ -41,12 +41,14 @@ def login(auth: AuthModel, db: Session = Depends(database.db_session)):
4141@auth_router .post ("/get_user_info" , status_code = 200 )
4242def decode_token (token : Annotated [str , Header ()]):
4343 username = None
44+ userid = None
4445 try :
4546 username = get_user_from_jwt (token )
47+ userid = get_user_id_from_jwt (token )
4648 except Exception as e :
4749 logger .exception (e )
4850 response = {"msg" : "failed" }
49- response = {"msg" : "success" , "username" : username }
51+ response = {"msg" : "success" , "username" : username , "user_id" : userid }
5052 return response
5153
5254
@@ -70,7 +72,7 @@ def sign_up(auth: SignUpModal, db: Session = Depends(database.db_session)):
7072 user : User = User (username = auth .username , email = auth .email , password = sha256_crypt .hash (auth .password )) # type: ignore
7173 db .add (user )
7274 db .commit ()
73- token = jwt .encode (payload = {"username" : auth .username }, key = c .JWT_SECRET )
75+ token = jwt .encode (payload = {"username" : auth .username , "userid" : user . id }, key = c .JWT_SECRET )
7476 response = {"msg" : "success" , "token" : token }
7577 else :
7678 response = {"msg" : "failed" }
0 commit comments