>백엔드 개발 >파이썬 튜토리얼 >내 React 프론트엔드가 FastAPI 백엔드에서 쿠키를 수신하지 못하는 이유는 무엇입니까?

내 React 프론트엔드가 FastAPI 백엔드에서 쿠키를 수신하지 못하는 이유는 무엇입니까?

DDD
DDD원래의
2024-12-10 02:17:08871검색

Why Isn't My React Frontend Receiving Cookies from My FastAPI Backend?

React 프론트엔드에서 FastAPI 쿠키를 수신하지 못함: 해결 방법

FastAPI를 백엔드로 사용하고 React를 프론트엔드로 사용하는 경우 AJAX 요청을 통해 쿠키가 전달됩니다. FastAPI에서 설정한 내용을 React에서 수신하지 못할 수 있습니다. 이러한 일관되지 않은 동작은 두 애플리케이션에서 사용되는 고유한 포트 번호로 인해 발생할 수 있으며, 이로 인해 원본 간 요청 시나리오가 생성됩니다.

이 문제를 해결하려면 몇 가지 단계가 필요합니다.

  1. FastAPI에서 쿠키를 올바르게 설정:
    FastAPI에서 쿠키가 오류 없이 생성되고 설정되었는지 확인하세요. 응답에 상태 코드 200과 함께 '상태': '성공'이 포함되어 있는지 확인하세요.
  2. React에서 쿠키 허용 활성화:
    React에서 Axios 요청을 구성하세요. withCredentials 속성을 true로 설정하여 쿠키를 수신하려면 앱을 사용하세요. 이는 쿠키와 같은 자격 증명을 포함하는 교차 출처 요청에 필요합니다.

    예를 들어 Axios에서:
    await axios.post(url, data, {withCredentials: true}))

    Fetch API에서:
    fetch('https://example.com', { 자격 증명: 'include' });

  3. FastAPI에서 허용되는 출처 지정:
    요청의 교차 출처 특성으로 인해 API에 액세스할 수 있는 출처를 명시적으로 지정해야 합니다. 여기에는 React 프런트엔드의 도메인 및 포트가 포함됩니다.
  4. CORSMiddleware에서 자격 증명 허용:
    FastAPI 애플리케이션에서 CORSMiddleware가 Allow_credentials가 True로 설정되어 구성되어 있는지 확인하세요. 그러면 Access-Control-Allow-Credentials 헤더가 true로 설정되어 교차 출처 응답에 자격 증명이 포함될 수 있습니다.

이 단계를 따르면 FastAPI는 쿠키를 React 프런트엔드에 성공적으로 반환해야 합니다. Axios POST 요청에서 오류가 반환되지 않고 쿠키가 올바르게 설정되었는지 철저하게 확인하십시오.

위 내용은 내 React 프론트엔드가 FastAPI 백엔드에서 쿠키를 수신하지 못하는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.