Use built-in OAuth2PasswordRequestForm for login

This commit is contained in:
François Voron
2019-10-06 14:02:42 +02:00
parent 4ff6e2ad2b
commit 20bb285f03
7 changed files with 65 additions and 56 deletions

View File

@ -1,8 +1,9 @@
from fastapi import APIRouter, HTTPException
from fastapi import APIRouter, Depends, HTTPException
from fastapi.security import OAuth2PasswordRequestForm
from starlette import status
from fastapi_users.db import UserDBInterface
from fastapi_users.models import UserCreate, UserDB, UserLogin
from fastapi_users.models import UserCreate, UserDB
from fastapi_users.password import get_password_hash
@ -19,8 +20,8 @@ class UserRouter:
return created_user
@router.post('/login')
async def login(user_login: UserLogin):
user = await userDB.authenticate(user_login)
async def login(credentials: OAuth2PasswordRequestForm = Depends()):
user = await userDB.authenticate(credentials)
if user is None:
raise HTTPException(status_code=status.HTTP_400_BAD_REQUEST)