>백엔드 개발 >Golang >내 브라우저가 Cross-Origin 요청의 쿠키를 저장하지 않는 이유는 무엇입니까?

내 브라우저가 Cross-Origin 요청의 쿠키를 저장하지 않는 이유는 무엇입니까?

Linda Hamilton
Linda Hamilton원래의
2024-11-24 20:49:18344검색

Why Won't My Browser Store Cookies from Cross-Origin Requests?

브라우저가 교차 출처 요청에서 쿠키 저장을 거부함

문제 설명:

Go 서버를 사용하는 React 애플리케이션 성공적으로 설정했음에도 불구하고 로그인 요청 응답으로 전송된 쿠키를 저장하는 데 어려움이 있습니다. 쿠키는 네트워크 탭에 표시되지만 브라우저(Chrome 및 Firefox)에서는 쿠키를 저장하지 않습니다.

근본 원인 및 해결 방법:

추가 조사 결과, 누락된 구성요소가 가져오기 요청의 'credentials' 플래그인 것으로 확인되었습니다. 'credentials: "include"'를 설정하면 브라우저가 응답으로 받은 쿠키를 처리하고 저장할 수 있습니다. 수정된 가져오기 요청은 다음과 같습니다.

fetch(`${url}/login`, {
    method: "POST",
    headers: {
        "Content-Type": "application/json",
    },
    credentials: "include", // This here
    body: JSON.stringify({
        email: userDetails.email,
        password: userDetails.password,
    }),
}).then((response) => { ...

추가 예방 조치:

  • 서버가 다음과 같은 원본 간 요청을 허용하도록 CORS 처리기로 구성되어 있는지 확인하세요. 자격 증명.
  • 사용자 정의 CORS 구성의 경우 'AllowCredentials'를 다음으로 설정합니다. true입니다.
  • 응답 헤더를 확인하여 쿠키가 예상대로 설정되었는지 확인하세요.

위 내용은 내 브라우저가 Cross-Origin 요청의 쿠키를 저장하지 않는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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