Access-Control-Allow-Credentials

고범수·2023년 6월 29일
2

Spring Boot

목록 보기
2/12

Access-Control-Allow-Credentials 헤더. CORS 관련 응답 헤더이다. true로 값이 설정되면, 이 응답을 받은 브라우저는 프론트엔드 자바스크립트 코드가 응답 자체에 접근할 수 있게 허용한다. 만약 서버의 응답 헤더에 이 값이 설정되어 있지 않다면 이 응답을 받은 브라우저는 프론트엔드 자바스크립트 코드가 이 응답 자체에 접근할 수 없게 한다.

위와 같은 기능이 작동되게 하려면 아래와 같이 요청의 credentials mode가 include로 설정 되어야 한다. (axios에서의 예. axios는 withCredentials: true 로 설정하면 된다.)

https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Credentials

그리고 Access-Control-Allow-Credentials = true 로 설정하면, Access-Control-Allow-Origin 은 '*'로 값이 설정될 수 없다. 즉, origin을 명시해야한다.

따라서, 아래 이미지처럼 서버와 통신하는 프론트의 origin(protocol, host, port)를 Access-Control-Allow-Origin 에 설정해주자. (Spring Boot에서의 코드이다.)

이렇게 사용하면 되지만, 처음에 기술한 것처럼 요청의 credentials mode가 include가 아닌 경우에는 사용되지 않을 응답 헤더다.

0개의 댓글