OnboardingVM에서 SignInUseCase 사용함.
- authController.performRequest 호출
- didCompleteWithAuthorization 호출
- signInUseCase 호출(firebase 로그인)
- firebase까지 로그인 완료 되면, 비로소 refreshToken
- 필요한 건, appleIDCredential.authorizationCode인데, 이건 viewModel에서 존재하기 때문에, viewModel에서 수행해야 함.(Cloud Functions 호출을 통해 refreshToken 가져오기)
TODO: OnboardingVM에서 위 로직 수행하기
URL 형식
https://[region]-[projectId].cloudfunctions.net/[functionName]
todo: RefreshTokenCacheRepository와 GetRefreshTokenRepository를 나눌 것
이유는 메소드 네이밍이 겹치는데 이를 메소드에서 fromCache, fromNetwork로 정의하면 domain이 data layer를 알고 있는 느낌. 따라서 완전 분리하는 것으로 리펙토링 하자.
테스트 해야할 것
- refresh token이 잘 받아지는지 테스트하기
- keychain에 잘 저장되는지 테스트하기