전략 패턴으로 확장성 있게 소셜 로그인 설계하기
Backend/Spring 🌱2024. 2. 7. 18:51전략 패턴으로 확장성 있게 소셜 로그인 설계하기

여러 소셜 로그인(카카오, 네이버, 구글, 페이스북 등)을 지원하다 보면 컨트롤러에 유사한 로그인 코드가 반복되거나, if-else·switch 문이 길어져 유지보수가 어려워지기 쉽습니다. 이 글에서는 다음 내용을 다룹니다.여러 소셜 로그인을 하나의 엔드포인트로 통합하는 방법로그인 방식별로 전략 패턴(Strategy Pattern)을 적용해 확장 가능한 구조를 만드는 방법새로운 소셜 로그인이 추가되더라도 컨트롤러를 수정하지 않고 확장하는 설계 방식예제 코드는 Spring 기반의 REST API를 기준으로 작성했습니다. 요구사항 및 초기 상황프로젝트에서 로그인 기능을 맡았고, 사용자 경험을 높이기 위해 다양한 소셜 로그인을 제공하기로 했다고 가정해 보겠습니다. 지원 대상: 카카오, 네이버, 페이스북, 구글..

image