프로그래밍/JavaScript Web App
CORS 상황에서 ajax response로 쿠키(cookie)를 생성할 때 생성되지 않는 경우
쇠주는참이슬
2015. 12. 9. 20:06
SSO 환경에서 쿠키정보를 기반으로 로그인이 되어있는 상황
ajax 를 이용하여 크로스 도메인상태에서 해당 서비스를 호출을 하면 쿠키정보가 전송되지 않는다.
아래 해결방법
* ajax option에 xhrfields : {withCredentials : true} 를 주자
* 서버사이드에서는 (ex: 웹서버) 아래의 Http Header 설정도 필요하다.
Access-Control-Allow-Credentials : true
Access-Control-Allow-Origin : http://aaa.com
=> withCredentials의 true인 경우에는 asterisk(*)를 사용할 수 없고 도메인을 명시/나열해야 한다.
* 쿠키를 생성했다고 해도, CORS 요청일 경우에는 쿠키가 전혀 전송되지 않음에 주의하자.
출처 : http://itpsolver.com/ajax-response%EB%A1%9C-%EC%BF%A0%ED%82%A4cookie%EB%A5%BC-%EC%83%9D%EC%84%B1%ED%95%A0-%EB%95%8C-%EC%83%9D%EC%84%B1%EB%90%98%EC%A7%80-%EC%95%8A%EB%8A%94-%EA%B2%BD%EC%9A%B0/