Commit existing codebase

This commit is contained in:
Andrey Chervyakov 2021-02-25 01:39:14 +06:00
commit 49bc902bb9
24 changed files with 1208 additions and 0 deletions

17
app/auth/middleware.py Normal file
View file

@ -0,0 +1,17 @@
from fastapi import Depends, HTTPException
from fastapi.security import HTTPBearer, HTTPAuthorizationCredentials
from jose import JWTError
from app.auth.service import verify_token
from app.user.model import User
from app.user.service import get_user_by_id
from app.db import get_db
def get_auth_user(auth: HTTPAuthorizationCredentials = Depends(HTTPBearer()), db=Depends(get_db)) -> User:
try:
decoded_token = verify_token(auth.credentials)
auth_user = get_user_by_id(db, int(decoded_token["sub"]))
return auth_user
except JWTError:
raise HTTPException(status_code=403, detail="Invalid token")