Access tokens 0.1.0

This commit is contained in:
2026-07-23 11:13:52 +03:00
parent 8e66161ddd
commit 4d61d873b5
10 changed files with 297 additions and 210 deletions
+15 -4
View File
@@ -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"}