안녕하세요 강사님 해당 강의를 통해서 엄청난 꺠달음과 영감을 얻게되어 감사하다는 말씀을 먼저 올리고싶습니다.
제가 해당 강의를 통해서 성장을 하여 감히 마이크로서비스를 이용해서 프로젝트를 진행하고 있습니다.
하지만 프로젝트를 진행하다 보니 몇일 동안 해결할 수 없는 문제와 마주하게 되어 이렇게 문의 드립니다.
우선 Spring Cloud Gateway 가 존재하고 User-Service 가 그 뒤에 위치해 있습니다.
User-Service 에서는 사용자가 로그인을 한다면 access_token 과 refresh_token 을 쿠키에 담아서 반환합니다.
그리고 로그아웃을 한다면 access_token 과 refresh_token 의 쿠키 값에 null 을 넣고 expires 를 과거로 만들어 만료되도록 합니다.
Front 에서는 로그인을 수행하면 access_token 과 refresh_token 을 잘 받아서 브라우저에 저장하는 것을 확인하였습니다.
로그아웃을 수행한다면 응답으로 set-cookie 를 잘 받아오는 것도 확인을 하였습니다.
- access_token=; expires= 1960 00:00:00 ... httpOnly;
- refresh_token=; expires= 1960 00:00:00... httpOnly;
하지만 실제 브라우저에서는 쿠키가 지워지지 않더라구요..
axios의 credential 과 gateway 에서의 cors filter 도 설정을 잘 하였습니다.
실제 프로젝트 소스는 아래에 있습니다.
- User-Service :: https://github.com/dhslrl321/PCUSS-User-Service
- Gateway Service :: https://github.com/dhslrl321/PCUSS-Gateway-Server
- Front 비동기 통신 코드 :: https://github.com/dhslrl321/PCUSS-Official-Site/blob/master/client/services/authService.js
- Front axios 모듈 :: https://github.com/dhslrl321/PCUSS-Official-Site/blob/master/client/utils/api.js