Ich versuche, mit Axios eine Post-Anfrage an einen Server zu senden, wobei im Browser Cookies gespeichert sind, aber ichPython

Python-Programme
Anonymous
 Ich versuche, mit Axios eine Post-Anfrage an einen Server zu senden, wobei im Browser Cookies gespeichert sind, aber ich

Post by Anonymous »

Ich versuche, eine Post-Anfrage an einen Server zu senden, der Axios mit im Browser gespeicherten Cookies verwendet (Aktualisierungstokenspeicherung im Cookie der Antwort nach /login-Anfrage), aber ich erhalte ein leeres Cookie-Objekt.
Beitragsanfrage senden:

Code: Select all

axios.post("http://127.0.0.1:8000/users/refresh",
{},
{
withCredentials: true,
})
Cors-Richtlinie:

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=["*"],
)
So speichere ich Cookies:

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}}
Wie ich Cookie lese (Cookie ist hier leer):

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}}
Ich habe versucht, eine Anfrage mit Cookies per Post zu senden und alles hat funktioniert! In Browser-Entwicklertools sehe ich Cookies nach der Anmeldeantwort:
Image

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post