개발초보인
90
2021-04-27 16:31:57
3
237

쿠키를 삭제하는 방법이 있을까요???(jwt로그인/로그아웃 구현 문제)



1.로그인 성공시 jwt accesstoken과 refreshtoken 토큰을 발급받아서 쿠키에 저장 (refreshtoken 은 DB에 따로 또 저장)

2.request로 accesstoken를 받아와 if(accesstoken != null)  accesstoken 에 값이 있다면 복호화 해서 로그인되있는 상태로 판단  accesstoken 에 값이 없다면 비로그인으로 판단

3.accesstoken 시간만료시 쿠키에 저장되어있던 refreshtoken과 로그인시 DB에 저장했던 refreshtoken를 비교해 맞다면 accesstoken 새발급 

현재 이런식으로 로그인,로그인여부확인,토큰연장을 구현하고 있습니다...


마지막으로 로그아웃 구현을 히려고 하니까 저장되어 있던 쿠키를 삭제 할 수 있는 방법이 없다고 하더라구요

그래서 로그아웃 버튼 클릭 시 쿠키에 저장되어있는   accesstoken을 ' ' 빈값으로 주어서 로그아웃 구현을 헀는데 여기서 또 문제인게 저 위에 2번에서 로그인여부를 판단할때 조건문 if(accesstoken != null) 에

accesstoken 값이 '' 빈값으로 들어가니까 또 조건문 에는 맞지 않고..

조건문을 if(accesstoken.length > 0) 로 설정하자니 브라우저를 끄고 다시 키면 쿠키가 초기화 돼 있는 상태라 로그인 여부를  판단할 수 가 없습니다...


사실 쿠키를 삭제만 할 수 있으면 해결되는 문제인데 다른 방법이 있을까요 ...

0
  • 답변 3

  • moonti
    3k
    2021-04-27 16:40:07

    쿠키 만료시간을 1초 미만으로 셋팅합니다

  • 개발초보인
    90
    2021-04-27 16:57:39
    로그아웃시 저장되어있던 쿠키의 만료시간을 1초미만으로 설정해서 자연스럽게 사라지도록 한다는 말씀이신가요 ? 
  • 개발초보인
    90
    2021-04-27 17:04:24

    덕분에 해결했습니다 감사합니다!

  • 로그인을 하시면 답변을 등록할 수 있습니다.