Access-Control-Allow-Credentials
응답 헤더 CORS

개요

Access-Control-Allow-Credentials는 교차 오리진 요청이 쿠키·HTTP 인증·클라이언트 인증서 같은 자격 증명을 포함할 때, 브라우저가 그 응답을 스크립트에 넘겨줘도 되는지를 지정하는 CORS 헤더입니다.

유효한 값은 true 하나뿐이며, false나 다른 값은 사실상 헤더를 두지 않은 것과 같습니다.

자세히

클라이언트가 credentials를 포함해 요청하려면(fetch의 credentials: "include", XHR의 withCredentials = true) 서버 응답에 반드시 이 헤더가 true여야 합니다. 없으면 요청은 전송되어도 브라우저가 응답을 차단하고 쿠키도 무시합니다.

가장 중요한 제약: credentials 모드에서는 Access-Control-Allow-Origin에 와일드카드 *를 쓸 수 없습니다. 반드시 요청 오리진과 정확히 일치하는 단일 오리진을 반사해야 합니다. 마찬가지로 Access-Control-Allow-Headers·Access-Control-Allow-Methods의 *도 credentials 모드에서는 무효라 명시적으로 나열해야 합니다.

오리진을 동적으로 반사하는 서버는 Vary: Origin을 함께 내보내야 캐시가 오리진별 응답을 섞지 않습니다. 이 세 가지(구체적 오리진 + credentials true + Vary: Origin)를 함께 맞추는 것이 인증 쿠키 기반 CORS API의 표준 구성입니다.

문법

Access-Control-Allow-Credentials: true

e.g. Access-Control-Allow-Credentials: true

실무 참고

관련 헤더

관련 상태코드

스펙 근거