Access tokens 0.1.0
This commit is contained in:
@@ -1,9 +1,20 @@
|
||||
from fastapi import APIRouter
|
||||
from fastapi import APIRouter, Depends
|
||||
from fastapi.security import OAuth2PasswordRequestForm, OAuth2PasswordBearer
|
||||
|
||||
from src.models.pydantic_models.model import UserOut
|
||||
|
||||
from src.service.auth.auth import auth
|
||||
|
||||
router=APIRouter(prefix="/protected")
|
||||
oauth2_scheme=OAuth2PasswordBearer(tokenUrl="/protected/token")
|
||||
oauth2_schema=OAuth2PasswordBearer(tokenUrl="/protected/token")
|
||||
|
||||
@router.post("/token")
|
||||
async def get_access_token(form_data:OAuth2PasswordRequestForm=Depends())->dict:
|
||||
return auth.create_token(form_data_email=form_data.username, form_data_password=form_data.password)
|
||||
|
||||
def get_current_user(token:str = Depends(oauth2_schema)) -> UserOut:
|
||||
return UserOut.model_validate(auth.get_current_user(token))
|
||||
|
||||
@router.get("")
|
||||
def protected()->dict:
|
||||
return {"protected router": "Hello, this is a protected router"}
|
||||
async def protected(current_user:UserOut=Depends(get_current_user))->dict:
|
||||
return {"protected router": "Hello, this is a protected router"}
|
||||
|
||||
Reference in New Issue
Block a user