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)