File size: 837 Bytes
43059ab
 
d56012b
43059ab
 
 
 
 
 
 
 
 
 
 
 
 
 
d56012b
 
 
 
 
913143a
680af93
e422b5d
 
d56012b
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
from fastapi import APIRouter, Depends
from fastapi.security import OAuth2PasswordRequestForm
from fastapi.responses import JSONResponse
from schema import ResponseSession
from typing import Annotated
from service import SessionService
from model import Login

router = APIRouter(
    prefix='/session'
)

service = SessionService()

@router.post("/",response_model=ResponseSession)
async def login(form_data: Annotated[OAuth2PasswordRequestForm,Depends()]):
    service = SessionService()
    session_data = service.create_session(form_data.username,form_data.password)
    response = JSONResponse(content=session_data.dict())
    response.set_cookie(
        key='token',
        value=session_data.access_token,
        httponly=False,
        secure=True,
        domain='.hf.space',
        samesite='None'
    )
    return response