OLIVE Platform, 소셜로그인 도입기: 프락시 및 API 제한 이슈 해결 사례
·2023.01.19 00:00
핵심 내용
Spring 기반 OLIVE Platform이 구글, 깃허브, 페이스북 소셜로그인 도입 시 겪은 프락시, Rate Limit, 앱 검수 이슈 해결 과정을 공유했다.
1 / 11
자세히 보기
OLIVE Platform은 사용자 확대를 위해 구글, 깃허브, 페이스북 소셜로그인을 도입했습니다. 이 과정에서 Spring Security OAuth2 Client 라이브러리를 활용해 인증 흐름을 구현했으며, 로그인 상태 유지를 위해 JWT 토큰을 발급하는 구조를 채택했습니다.
주요 기술 구현 및 연동 해제
서버 단에서는 spring-boot-starter-oauth2-client 의존성을 추가하고, Client Registration과 Provider 설정을 커스터마이징했습니다. 특히 소셜로그인 연동 해제 기능은 해당 라이브러리가 기본 제공하지 않아, 각 플랫폼의 권한 회수 API를 직접 호출하여 구현했습니다.
실제 서비스 적용 시 발생한 이슈와 해결
개발 환경에서는 정상 동작했으나 샌드박스 및 프로덕션 환경에서 다음과 같은 문제가 발생했습니다.
- 프로필 사진 로드 실패: 페이스북 프로필 사진 API가 리다이렉트되는 특성으로 인해 프락시 정책에서 차단되었습니다.
redirect=false파라미터로 실제 이미지 URL을 추출하고, 해당 도메인을 프락시 허용 목록에 추가하여 해결했습니다. - API 요청 제한(Rate Limit): 페이스북은 1시간당 '전체 사용자 수 x 200'의 API 요청 한도를 가집니다. 불필요한 API 호출을 줄이고 로그인 및 회원가입 시에만 호출하도록 로직을 최적화했습니다.
- 앱 검수 및 프로덕션 모드 전환: 로고 추가 등으로 인해 구글 앱 검수가 필요했습니다. OAuth 동의 화면 정보 입력, 도메인 소유권 확인(Google Search Console TXT 레코드 등록) 절차를 거쳐 프로덕션 모드로 전환했습니다.
최종적으로 OLIVE Platform은 카카오를 포함해 총 4가지 소셜로그인 기능을 안정적으로 서비스하게 되었습니다.
이 한국어 요약은 AI가 자동으로 만들었습니다. 원문의 주장과 맥락은 원문에서 확인해 주세요. 저작권은 원저작자에게 있습니다.