travel-planner-project / TravelPlanner

✈️ 여행 계획 프로젝트 개발 Repository 입니다.
2 stars 3 forks source link

[BE] Feat: 리프레시토큰 만료기한 설정과 갱신 #169

Closed sieunnnn closed 1 year ago

sieunnnn commented 1 year ago

기능 설명

현재 리프레시토큰은 만료기한이 없습니다. 만료기한을 7 일로 설정하고, 로그인 시 갱신하는 프로세스를 추가해야 합니다. 사용중에 어세스토큰과 리프레시토큰이 만료되는 순간이 겹칠때가 있으리라 생각됩니다. 때문에 리프레시 토큰이 만료되고 갱신할때(재로그인 이겠죵), 어세스토큰 또한 같이 갱신되는것이 맞다고 생각합니다.

상세 로직

  1. 어세스토큰 재발급 시 레디스에서 이메일을 키값으로 레디스에서 리프레시 토큰을 가져옵니다.
  2. 리프레시 토큰이 존재 시, 이를 통해 어세스 토큰을 재발급하여 헤더에 값을 넣어줍니다.
  3. 하지만 리프레시 토큰이 존재 하지 않는다면 403 에러를 반환 / 쿠키의 값도 삭제합니다.


TODO

sieunnnn commented 1 year ago

진행사항

프론트팀에서 403 이 반환되면 로그인 페이지로 리다이렉트 되도록 짜둔 것 같습니다. 페이지도 확인 완료 했습니다. 하지만 리다이렉트 url 에 ; 이 들어가 있어서 확인하고 싶은 내용을 확인하지 못하고 있습니다.

2023-08-24T15:11:27.350Z DEBUG 200193 --- [nio-8080-exec-5] o.s.s.web.DefaultRedirectStrategy        : Redirecting to http://travel-planner.xyz/login;jsessionid=F4CB0D925318D7E4A441531543F8502B
2023-08-24T15:11:27.404Z DEBUG 200193 --- [nio-8080-exec-6] s.s.w.f.HttpStatusRequestRejectedHandler : Rejecting request due to: The request was rejected because the URL contained a potentially malicious String ";"

org.springframework.security.web.firewall.RequestRejectedException: The request was rejected because the URL contained a potentially malicious String ";"

차후 프론트 팀과 테스트 해야 할 순서는 아래와 같습니다.

* 현재 어세스토큰 만료기한은 2분, 리프레시토큰은 3분 입니다.


sieunnnn commented 1 year ago

진행사항

TODO


sieunnnn commented 1 year ago

진행사항

일단 소셜 로그인 부분을 전부 주석처리하고 jar 파일을 만들어 서버에 배포하였습니다.