기본 콘텐츠로 건너뛰기

라벨이 withCredentials 쿠키 전송인 게시물 표시

CORS preflight 실패로 인한 인증 실패와 403 원인 분석 및 해결 가이드

CORS preflight 실패로 인한 인증 실패와 403 원인 분석 및 해결 가이드 AI 생성 이미지: CORS preflight 실패로 인한 인증 실패와 403 원인 문제 정의 — CORS preflight 실패가 인증 흐름을 깨뜨리는 이유 증상은 브라우저 콘솔에 "Access to XMLHttpRequest at '…' from origin '…' has been blocked by CORS policy" 또는 "Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header" 같은 메시지로 나타납니다. 겉으로는 클라이언트가 403이나 네트워크 오류를 받지만, 실제 원인은 OPTIONS(preflight) 단계에서 필요한 헤더가 누락되거나 차단되어 인증 토큰(Authorization 헤더나 쿠키)이 서버에 전달되지 않기 때문입니다. 브라우저는 preflight가 실패하면 실제 요청을 보내지 않거나 응답을 차단하므로 서버는 인증 정보가 없는 요청으로 처리해 401/403을 반환합니다. 실무 체크리스트: OPTIONS 응답에 필수 CORS 헤더가 포함되어 있는지, Access-Control-Allow-Headers에 Authorization 또는 필요한 커스텀 헤더가 명시되어 있는지, 그리고 withCredentials 사용 시 Access-Control-Allow-Credentials와 Origin 설정이 일치하는지를 먼저 확인하세요. (이 문제는 CORS preflight 실패로 인한 인증 실패와 403 원인과 직접 연결됩니다.) 서버가 OPTIONS 엔드포인트도 인증 대상으로 설정해 프리플라이트 단계에서 인증을 요구하는 경우 Access-Control-Allow-Headers에 Authorization 또는 커스텀 헤더가 ...