Skip to content

Conversation

@0Hooni
Copy link
Member

@0Hooni 0Hooni commented Apr 22, 2025

📌 이슈

✅ 작업 사항

  • LoginService를 Network로 이동
  • Service를 Presentation에서 사용하기 위해 UseCase, Repository 생성 및 로직 매핑
  • KakaoLoginService 동작 오류를 해결하기 위해 App에 KakaoSDKUser추가
  • 사용하지 않는 패키지를 Application, Presentation에서 제거
  • 불필요해진 Reactor의 Mutation, Action 동작 제거

🚀 테스트 방식

Apple Login Service

  • 애플로그인서비스 재할당의 이유가 애플로그인 재시도시 동작하지 않던 이유였음
  • Reactor의 동작을 일부 제거해도 애플 로그인 재시도시 동작함을 확인

Kakao Login Service

  • 기존에 카카오 로그인을 시도하면 앱이 멈추는 문제가 있었음
  • Application에서 AppKey를 초기화할 때 필요한 KakaoSDKUser 패키지가 포함되지 않아 생겼던 문제
  • 카카오 로그인을 앱이 없는 상황(시뮬레이터)과 앱이 있는 상황(실기기)에서 둘 다 정상 동작함을 확인

0Hooni added 3 commits April 22, 2025 14:05
- 기존에 Service를 이용하던 곳은 UseCase를 이용하도록 수정
- UseCase를 이용하면서 필요한 의존성 주입 진행
- UseCase는 Repository를 이용하도록 수정
- AppleLogin 객체를 재생성하는 부분을 제거
- Data에 KakaoSDK 추가 및 Presentation에서 KakaoSDK 제거
- 로그인에 필요한 KakaoSDKUser가 빠져서 생긴 문제
- AppleLogin 재시도 시 발생하는 에러로 인해 Service를 재할당 해주던 로직
- 제거 후 별다른 이상이 없어 관련 Flow 제거
@0Hooni 0Hooni self-assigned this Apr 22, 2025
@0Hooni 0Hooni added 🔄 refactor 프로덕션 코드 리팩토링, 파일 삭제, 네이밍 수정 및 폴더링 🐛 fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결 🔧 chore 빌드 설정, 프로젝트 설정 등 “로직에 영향 없는” 변경 labels Apr 22, 2025
Copy link
Contributor

@zzangzzangguy zzangzzangguy left a comment

Choose a reason for hiding this comment

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

LGTM🫡

Copy link
Member

@dongglehada dongglehada left a comment

Choose a reason for hiding this comment

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

수고 많으셨습니다 !! 기존 코드에서 레이어 이사 및 프로토콜이 모두 분리가 되었군요..! 다른 플랫폼의 확장될 경우 불리할 것 같은데 따로 생각해보신 부분이 있는지 궁금합니다!!

@0Hooni
Copy link
Member Author

0Hooni commented Apr 27, 2025

수고 많으셨습니다 !! 기존 코드에서 레이어 이사 및 프로토콜이 모두 분리가 되었군요..! 다른 플랫폼의 확장될 경우 불리할 것 같은데 따로 생각해보신 부분이 있는지 궁금합니다!!

@dongglehada 말씀주신 부분 제가 놓친 부분인것 같아요!!

그래서 고민을 해봤었는데 LoginService를 레포지토리에서 AuthServiceable로 생성자에서 받도록 한 뒤 주입해주는 방식이 가능할것 같긴 합니다.

문제는 현재의 DI에서 하나의 인터페이스로 여러개의 구현체를 특정하는 방식이 별도로 정의되어 있지 않아서 지금과 같이 UseCase, Repository를 각 서비스마다 두는 방식으로 진행하는것이 현재로서는 맞는것 같다 생각합니다.

추후 하나의 인터페이스에 다중 구현체가 맞물리는 경우에 DI에서 이를 컨트롤할 수 있는 방법을 디벨롭한뒤 LoginService도 상황에따라 주입받도록 해서 처리가 가능할것 같습니다 👍🏻

@0Hooni 0Hooni merged commit a0c5015 into develop Apr 27, 2025
2 checks passed
@0Hooni 0Hooni deleted the fix/#122-login-service branch April 27, 2025 02:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔧 chore 빌드 설정, 프로젝트 설정 등 “로직에 영향 없는” 변경 🐛 fix 버그 수정, 잔잔바리 수정, 병합 시 충돌 해결 🔄 refactor 프로덕션 코드 리팩토링, 파일 삭제, 네이밍 수정 및 폴더링

Projects

None yet

Development

Successfully merging this pull request may close these issues.

LoginService 의존성 흐름 개선 및 카카오 로그인 에러 해결

4 participants