Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat: 사용자 refreshToken #161

Merged
merged 4 commits into from
Aug 6, 2024
Merged

Feat: 사용자 refreshToken #161

merged 4 commits into from
Aug 6, 2024

Conversation

adorableco
Copy link
Contributor

@adorableco adorableco commented Aug 5, 2024

PR

✨ 작업 내용

  • 이것.. 생각보다 오래걸리네요 그래도 공부가 많이 된 듯합니다
  • 후반부로 갈수록 집중력 0 상태에서 해서 오류.. 있을 수도 있습니다.. 다 테스트 했지만... 확인 쿠다사이
  • accessToken 만료 시간은 1시간, refreshToken 만료 시간은 15일입니다.
  • 위키에 아주 상세하게 적어두었습니다 📃 Backend/Redis로 RefreshToken 구현하기

🙌🏻 예상 응답 바디 🙌🏻
스크린샷 2024-08-06 오전 12 07 39


✨ 참고 사항

  • redis 로컬 실행은 아래 커맨드로 하시면 됩니다!!
docker-compose -f docker-compose-dev.yml up
  • 멘토님이 알려주신 plantUml 사용해보았습니다. 생각보다 훨씬 편해서 애용 예정!! draw.io 로 직접 그리는 것보다 나았습니다!
  • RedisCrudTest 가 db에 종속돼있어 ci가 통과를 못해서 삭제했습니다. ci 워크 플로우에 redis 컨테이너 실행을 추가할까하다가 여기선 유닛테스트만 간단하게 하는게 좋을 것 같다고 판단했습니다.
  • refreshToken 오류와 accessToken 오류를 구분하고 싶어서 refreshToken에는 401 에러를 부여했습니다. 보통 로그인이 안돼있는 상태에서 api 요청을 할 때 반환할 수 있는 상태코드라고 하는데 ... 저희끼리 그냥 통용해서 쓰면 어떨까합니다!
    • 근데 사실 초반에 accessToken 만료 시 자동으로 갱신하는 로직으로 생각했어서 구분했는데 현재 구현 상으로는 이 둘의 api가 분리돼있어서 403으로 통일해도 되긴합니다!
  • refreshToken 재발급 시에 한 member에 대한 refreshToken이 계속해서 redis 저장소에 쌓였습니다. 중복을 해결하고자 Persistable 을 상속받아 isNew 메서드를 오버라이드했습니다. 상세한 내용은 추후에 위키에 작성하겠습니다.

⏰ 현재 버그

  • accessToken 에러 핸들링이 원하는대로 되지 않았습니다 403 에러에 지정한 메시지까지 보내긴하는데 @RestControllerAdvice가 JwtFilter~ 와 같이 Filter, Interceptor 단에서 발생하는 Exception은 처리를 해주지 못해서 원하는 형식대로는 안나오네요 -> 해결방법은 있다고 하니 나중에 천천히... 해보자구요..

아래와 같은 모습입니다
스크린샷 2024-08-05 오후 5 45 41


✏ Git Close

part of swm-131
related to: #146
part of swm-131
related to: #146
@adorableco adorableco added ✨ Feature 기능 개발 🫧 seyeon seyeon labels Aug 5, 2024
@adorableco adorableco self-assigned this Aug 5, 2024
@adorableco adorableco linked an issue Aug 5, 2024 that may be closed by this pull request
1 task
part of swm-131
related to: #146
Copy link

github-actions bot commented Aug 5, 2024

Unit Test Results

16 tests   16 ✔️  2s ⏱️
  6 suites    0 💤
  6 files      0

Results for commit 02e33bb.

♻️ This comment has been updated with latest results.

@adorableco adorableco requested a review from RinRinPARK August 5, 2024 14:29
Copy link
Contributor

@RinRinPARK RinRinPARK left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

👍굿드바리옹~

@adorableco adorableco merged commit 819a83c into develop Aug 6, 2024
2 checks passed
@adorableco adorableco deleted the seyeon/swm-131 branch August 6, 2024 02:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
✨ Feature 기능 개발 🫧 seyeon seyeon
Projects
None yet
Development

Successfully merging this pull request may close these issues.

✨ Feat: 사용자 refreshToken
2 participants