인증, 인가가 필요한 서비스 접근시 AccessToken을 확인하고 AccessToken이 없을 경우 ->
RefreshToken이 있는지 확인 ->
RefreshToken이 있다면 AccessToken 재발급 하고 SetCookie로 client쪽에서 가지고 있도록 하고 다시 서비스에 접근 시킨다.
여기까지가 내 생각... 분명 되긴 되는데 로그아웃 후 Token이 들어있는 Cookie를 expired 시켜줬는데 인증, 인가가 필요한 서비스 접근시 다시 로그인을 안해도 인증, 인가가 됐다.
않이 왜 내 생각대로 외않되? 😭
여기저기 코드도 찾아보고 쿠키 값들을 찍어보니 AccessToken 값이 여러개가 들어오고 있었다. 😨
않이 같은 이름을 가진 쿠키인데 분명,,?
찾아보니 같은 domain, path가 아닌 쿠키는 위처럼 같은 이름을 가지고 다른 값이 들어가서 쿠키 이름만 중복으로 사용해 서버쪽으로 들어올 수 있다고 한다.
그렇다면 SetCookie시 default로 들어가는 domain 또는 path를 넣어주자!
Cookie cookie = new Cookie(Key, Value);
cookie.setPath(String url); or cookie.setDomain(String pattern);
response.addCookie(cookie);
이렇게 처리를 해주면 path가 들어가 있기 때문에 같은 path, name를 가진 쿠키는 같은 이름으로 다른 값을 가질 수 없음!