abdullah090809's picture
initial commit
55fd541
Raw
History Blame Contribute Delete
1.02 kB
from fastapi.security.oauth2 import OAuth2PasswordRequestForm
from fastapi import APIRouter, Depends, HTTPException, status
from sqlalchemy.orm import Session
from app.schemas import Token
from app import utils
from app.database import get_db
from app.models import User
from app.oauth2 import Create_Access_Token
router = APIRouter(tags=["Authentication"])
@router.post('/login',response_model=Token)
def login(user_credentials: OAuth2PasswordRequestForm = Depends(), db: Session = Depends(get_db)):
user=db.query(User).filter(User.email == user_credentials.username).first()
if not user:
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN,detail="Invalid Credentials")
if not utils.verify(user_credentials.password,user.password):
raise HTTPException(status_code=status.HTTP_403_FORBIDDEN,detail="Invalid Credentials")
access_token=Create_Access_Token(data={"id": user.id})
return {
"access_token": access_token,
"token_type": "bearer"
}