-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
Description
💡 Issue
- 데이터 레이어가 다른 레이어를 참조하지 않도록 변경해 개선합니다
AS - IS
TokenAuthenticator
- 액세스 토큰 만료 시, 리프레시 토큰을 통해 재발급 받아야 함
- 이때 getRefreshToken
- 성공시
- 발급된 액세스, 리프레시 prefrenceManager에 저장 - 실패시 (리프레시도 만료라는 것 → 자동로그인 풀리고 로그인으로 넘어가야 함)
- 이때, data 레이어의 authenticator에 로그인액티비티. 즉 presentation 레이어를 참조하고있음
- 성공시
TO - BE
AuthInterceptor
- 인터셉터, prefrenceManager 로 토큰 관리 로직 또한 한번에 해결
- 리프레시 또한 만료이면 preference의 AccessToken 값에 빈 문자열 저장
- 로그인 시 AccessToken이 빈 값이면 토스트 띄우고 재로그인 시키도록 해 data 레이어의 presentation 참조 제거
📝 todo
- Authenticator가 refresh Token 만료시 presentation 레이어를 참조하는 코드를 제거
- AuthInterceptor에서 다음과 같은 것들을 관리 할 수 있도록
- 헤더 부착
- 액세스 토큰, 리프레시 토큰 관리
- 액세스 토큰 만료 시 처리
- 리프레시 토큰 만료 시 처리
- presentation 레이어에서 만료 시 화면 이동을 수행할 수 있도록 구현
- 토큰 만료
- 탈퇴, 로그아웃, 방문자 모드까지 기존 플로우대로 정상적인지 확인