Source code for auth.local_login

# auth/local_login.py
from __future__ import annotations

from fastapi import Depends, HTTPException, Response, status
from fastapi.security import OAuth2PasswordRequestForm

from .config import router
from .models import Token
from .tokens import _authenticate, _issue_session


[docs] @router.post("/login", response_model=Token) async def login( response: Response, form: OAuth2PasswordRequestForm = Depends(), ) -> Token: user = _authenticate(form.username, form.password) if not user: raise HTTPException( status_code=status.HTTP_401_UNAUTHORIZED, detail="Incorrect username or password", ) return _issue_session(response, user)