프로젝트/Petogram
[Petogram] Oauth Login refactoring 여행기 - 1
들어가며 이전에 Qhoto에서 구현했던 Oauth2.0을 구현하면서 아쉬웠던 점이 있었다. Qhoto에서는 모든 로직을 GoogleLoginService, KakaoLoginService 함수 안에 중복된 로직이 존재했고 다른 Provider를 추가한다면 계속해서 중복된 로직을 작성해야 된다는 단점이 있었다. 사실 Oauth2.0을 구현하다 보면 Google, Kakao, Naver 등과 같은 Provider의 인증과정이 비슷하다는 것을 알 수 있다. 그리고 인증에 성공했을 때, 처리해야 하는 과정은 모든 Provider가 일치한다. 그럼 모든 공통된 로직과 Provider의 구현 전략들을 분리해 낼 수 있겠다는 결론에 도달했다. 디자인 패턴 중 어떤 디자인을 패턴을 적용해야 할까? 생각이 난 것은 템플..