Closed 6mn12j closed 1 year ago
서버측에서 42oauth 인증을 끝낸 후 클라이언트 측으로 보내주는 응답 값에는 set-cookie헤더가 있지만 브라우저에서 쿠키를 확인해 보면 쿠키가 없다. 로컬에서는 잘 되는데 개발 서버에서는 문제가 발생하고 있다.
1. 도메인 문제? 필터링된 쿠키들까지 포함하여 확인해 보니 set-cookie로 응답 받은 쿠키가 필터링 된 상황 인걸 알 수 있었다. 필터링 되는 기준을 안다면 해당 문제를 해결 할 수 있다고 생각했다.
클라이언트 측에서 확인되는 쿠키들과의 다른점은 도메인 설정 값이 달랐다. 도메인을 키워드로 서치해 봤다.
mdn문서를 확인해 보니 도메인이 다르면 무시해 버린다고 한다. 서버측 cookie가 도메인을 설정하지 않으면 디폴트 값으로 호스트(벡엔드) 가 된다고 한다. 클라이언트 측에서 확인되는 쿠키들은 하위 도메인이 포함된 부분 이였다. 벡엔드측에서 클라이언트 측 도 포함되게 도메인을 설정 후에 보내주면 될거 같다.
결과
호스트 url(벡엔드 측) 과 도메인이 일치하지 않아서 set-cookie가 되지 않는 부분이 생겼다.
https://api-dev.24hoursarenotenough.42seoul.kr
https://dev.24hoursarenotenough.42seoul.kr
현재 벡엔드와 프론트는 cross-origin 이고 same-site이다.
프론트, 벡엔드 두개다 호환되는 도메인을 이용하여야 해당 문제를 해결할 수 있을거 같다.