TIL 2021-08-05
술이🍺 문제야 문제
RefreshToken이용 재발급 받는 AccessToken를 set해준 Cookie 값이 중복이 된다?!?!😣
인증, 인가가 필요한 서비스 접근시 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를 가진 쿠키는 같은 이름으로 다른 값을 가질 수 없음!
Author And Source
이 문제에 관하여(TIL 2021-08-05), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@malslapq/TIL-2021-08-05저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)