FastAPI: React 프론트엔드에서 쿠키 처리
개요
FastAPI를 사용하면 백엔드 개발을 위한 쿠키 처리가 가능합니다. 그러나 React 프런트엔드에서 쿠키를 보내고 받으려면 적절한 기능을 보장하기 위해 특정 구성이 필요할 수 있습니다.
쿠키가 React 프런트엔드에 반환되지 않는 이유
FastAPI 백엔드가 React 앱에 쿠키를 반환하지 않는 경우 , 여러 가지 요인이 이 문제에 영향을 줄 수 있습니다:
1. 잘못된 Axios 요청:
- withCredentials 속성을 true로 설정하여 Axios 요청이 자격 증명을 올바르게 보내고 있는지 확인하세요.
- Axios 요청 URL이 도메인과 일치하는지 확인하세요. FastAPI 백엔드. localhost와 127.0.0.1을 다른 도메인으로 사용하면 쿠키 생성이 중단될 수 있습니다.
2. CORS 제한 사항:
- 교차 출처 요청으로 인해 FastAPI 애플리케이션에서 CORS 설정을 명시적으로 구성해야 합니다.
- allow_credentials=와 함께 CORSMiddleware를 사용하여 허용되는 출처를 지정하세요. 교차 출처 쿠키를 활성화하려면 True입니다. 사용법.
3. FastAPI의 쿠키 설정:
- response.set_cookie() 메서드를 사용하여 FastAPI 경로에서 쿠키를 올바르게 설정했는지 확인하세요.
- httponly 매개변수가 다음으로 설정되어 있는지 확인하세요. 클라이언트 측 쿠키 액세스를 방지하려면 True입니다.
4. SameSite 속성:
- 쿠키의 SameSite 속성은 다양한 도메인의 가용성에 영향을 미칠 수 있습니다.
- 쿠키 접근성을 제어하려면 SameSite=Lax 또는 SameSite=Strict로 설정하고 사이트 간 공격을 방지하세요.
샘플 FastAPI 쿠키 설정:
from fastapi import FastAPI, Response
app = FastAPI()
@app.get('/')
def main(response: Response):
response.set_cookie(
key='token',
value='some-token-value',
httponly=True,
samesite='Lax' # or 'Strict'
)
return {'status': 'success'}
로그인 후 복사
자격 증명이 포함된 샘플 Axios 요청:
await axios.post(url, data, {withCredentials: true}))
로그인 후 복사
중요 참고:
- 와일드카드(*)를 사용하여 Access-Control-Allow-Origin은 통신 유형을 제한하고 쿠키 및 승인 헤더가 전송되는 것을 방지할 수 있습니다.
- 프런트엔드 도메인이 허용된 원본에 명시적으로 포함되어 있고 허용되는 원본에 허용_credentials=True가 설정되어 있는지 확인하세요. 쿠키를 처리합니다.
위 내용은 내 FastAPI 쿠키가 내 React 프런트엔드에 표시되지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!