세 OAuth Provider의 공통 흐름과 변경 지점 분리
Google·Kakao·Naver 로그인에 반복되던 실행 순서는 template으로 묶고, endpoint와 응답 검증은 provider별 callback으로 분리했습니다.
Java, Spring Boot, OpenFeign
같지만 달랐던 세 로그인 흐름
Google·Kakao·Naver OAuth 로그인은 인가 코드를 토큰으로 바꾸고, 토큰으로 사용자 정보를 조회한 뒤 내부 로그인이나 가입으로 연결하는 순서가 같았습니다. 하지만 API endpoint, 요청값과 응답 검증은 provider마다 달라 별도 메서드에 공통 흐름까지 반복되고 있었습니다.
순서는 template, 차이는 callback
인가 코드→토큰→사용자 정보 조회 순서는 OAuthApiTemplate에 고정했습니다. 토큰 요청과 사용자 정보 변환은 OAuthLogin, OAuthUserInfo 인터페이스의 provider별 구현으로 분리하고, 결과를 공통 OAuthUser로 맞춰 내부 사용자 조회·JWT 발급·가입 연결을 하나의 흐름에서 처리했습니다.
Google·Kakao·Naver의 기존 로그인 흐름을 테스트한 뒤 운영에 반영했습니다.