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

TOP-66 feature AccessToken Refresh 기능 개선, Refresh 실패 처리 로직 추가 #110

Merged
merged 12 commits into from
Dec 2, 2023

Conversation

cwj-c
Copy link
Member

@cwj-c cwj-c commented Nov 26, 2023

Explain this Pull Request 🙏

  • AccessToken Refresh 기능 개선, Refresh 실패 처리 로직 추가
  • feature:tohot에서 로그아웃 기능 아직 미구현

What has changed? 🤔

  • 변경 사항
    • Splash에서 Token 유효성 체크 및 Refresh 시도
    • Authenticator의 Retry로직이 작동하고 있지 않던 문제 수정(retry도 안하고있었고, retryCount check로직도 실행되고 있지 않았음)
    • AccessToken Refresh 실패 시 TokenExcetpion 발생시키도록 수정
    • ThtResponse unWrap 메소드에서 발생한 예외를 그대로 throw하지 않고 새로운 Exception을 생성해서 throw하던 코드를 발생한 예외를 그대로 throw하도록 변경
    • ToHotViewModel에서 TokenException 발생 시 LoginExpiredScreen 띄우도록 변경

Screenshot 📸

Test Checklist 🚩

…Time도 같이 리턴하도록 리턴 형태 변경

 - FetchThtAccessTokenUseCase의 네이밍 수정
 - Local에 저장된 AccessToken 유효성 리턴
 - Local 에 저장된 Access Token 이 유효 하지 않다면 RETRY_COUNT 회 Refresh 시도
 - Refresh 실패한다면 회원가입 화면으로 이동
 - 새로 로그인하면 로그인 정보가 덮어씌워지기에, 로그인 초기화까지는 시키지 않음
 - refresh 로직을 실패하면, authenticate메소드가 null을 리턴하게 되어있어서 retry 되고 있지 않은 문제 수정
 - retry count 제한이 적용되어 있지 않은 문제 수정(if문 분기 실수)
…경, Splash에서 호출할 때 retryCount를 default argument로 설정
 - Exception이 발생한 경우, 발생한 Exception을 그대로 throw 하도록 수정
 - timeout의 경우 대기시간이 너무 김
 - ToHotState에 loginAvailable 속성 추가
 - ToHotLoginExpiredCard 추가
 - 로그아웃 기능 미구현
# Conflicts:
#	app/src/main/java/com/tht/tht/SplashActivity.kt
#	feature/tohot/src/main/java/tht/feature/tohot/tohot/viewmodel/ToHotViewModel.kt
@cwj-c cwj-c merged commit 5626118 into develop Dec 2, 2023
4 checks passed
@cwj-c cwj-c deleted the feature/TOP-66_access_token_refresh branch December 2, 2023 07:25
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant