Beitragsanfrage senden:
Code: Select all
axios.post("http://127.0.0.1:8000/users/refresh",
{},
{
withCredentials: true,
})
Code: Select all
origins = [
"http://localhost:3000", // is dublicate because in one moment origin turn from 127.0.0.1 to localhost
"http://127.0.0.1:3000",
"http://localhost:8080",
"http://127.0.0.1:8080",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
Code: Select all
@router.post("/login")
async def auth_user(
response: JSONResponse,
request: Request,
uow: IUnitOfWork = UOWDep,
):
data = await request.json()
check = await authenticate_user(uow, data['login'], data['password'])
if check is None:
raise HTTPException(status_code=status.HTTP_401_UNAUTHORIZED,
detail='Wrond login or/and password')
access_token = create_access_token({"sub": str(check.id)})
refresh_token = create_refresh_token({"sub": str(check.id)})
response.set_cookie(key="user_refresh_token", value=refresh_token, secure=True, httponly=True)
return {'access_token': access_token, 'user': {'login': check.login, 'is_admin': check.is_admin}}
Code: Select all
@router.post("/refresh")
async def refresh_access_token(
response: Response,
user_refresh_token=Cookie(default=None),
user_data: UsersSchemeGet=Depends(get_current_user_refresh),
):
access_token = create_access_token({"sub": str(user_data.id)})
response.set_cookie(key="user_refresh_token", value=user_refresh_token, secure=True, httponly=True)
return {'access_token': access_token, 'user': {'login': user_data.login, 'is_admin': user_data.is_admin}}
