From 283dfc8c689f2f07103dbc74ec3e097fb3c8404e Mon Sep 17 00:00:00 2001 From: urec56 Date: Mon, 3 Jun 2024 13:52:07 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=B7=D0=BC=D0=B5=D0=BD=D0=B8=D0=BB=20?= =?UTF-8?q?=D1=81=D0=BF=D0=BE=D1=81=D0=BE=D0=B1=20=D0=B0=D0=B2=D1=82=D0=BE?= =?UTF-8?q?=D1=80=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D0=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/users/dependencies.py | 16 ++++++++-------- app/users/router.py | 3 +-- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/app/users/dependencies.py b/app/users/dependencies.py index 7006862..d36f27f 100644 --- a/app/users/dependencies.py +++ b/app/users/dependencies.py @@ -1,4 +1,5 @@ -from fastapi import Depends, Request, Response, WebSocket +from fastapi import Depends, WebSocket +from fastapi.security import HTTPBearer from jose import JWTError, jwt, ExpiredSignatureError from app.config import settings @@ -11,18 +12,19 @@ from app.exceptions import ( ) from app.services.user_service import UserService from app.unit_of_work import UnitOfWork -from app.users.auth import create_access_token, VERIFICATED_USER +from app.users.auth import VERIFICATED_USER from app.users.schemas import SUser +auth_schema = HTTPBearer() -def get_token(request: Request) -> str: - token = request.cookies.get("black_phoenix_access_token") + +def get_token(token=Depends(auth_schema)) -> str: if not token: raise TokenAbsentException - return token + return token.credentials -async def get_current_user(response: Response, token: str = Depends(get_token), uow=Depends(UnitOfWork)) -> SUser: +async def get_current_user(token: str = Depends(get_token), uow=Depends(UnitOfWork)) -> SUser: try: payload = jwt.decode(token, settings.SECRET_KEY, settings.ALGORITHM) except ExpiredSignatureError: @@ -38,8 +40,6 @@ async def get_current_user(response: Response, token: str = Depends(get_token), if not user: raise UserIsNotPresentException - access_token = create_access_token({"sub": str(user.id)}) - response.set_cookie(key="black_phoenix_access_token", value=access_token, httponly=True, secure=True, samesite="none") return user diff --git a/app/users/router.py b/app/users/router.py index f38fdc5..870c5f0 100644 --- a/app/users/router.py +++ b/app/users/router.py @@ -131,8 +131,7 @@ async def email_verification(user_code: str, uow=Depends(UnitOfWork)): async def login_user(response: Response, user_data: SUserLogin, uow=Depends(UnitOfWork)): user = await AuthService.authenticate_user(uow, user_data.email_or_username, user_data.password) access_token = create_access_token({"sub": str(user.id)}) - response.set_cookie("black_phoenix_access_token", access_token, httponly=True, secure=True, samesite="none") - return {"access_token": access_token} + response.headers["Authorization"] = f"Bearer {access_token}" @router.post(