
백엔드
ThirdParty 로그인 도입과 인증 흐름 리팩토링
두줄요약
Vizend의 ThirdParty 로그인 설계와 리팩토링 과정을 정리했습니다. 외부 인증과 내부 사용자 정책을 분리해 보안과 운영 유연성을 높였습니다.
핵심 내용
- 외부 인증 결과를 내부 사용자 모델과 연결하는 ThirdParty 로그인 설계와 리팩토링 사례
- provider별 인증 차이를 Gate 앞단에서 공통 사용자 정보로 정규화하고, 이후 내부 사용자 매칭·가입·계정 연결 정책을 공통 흐름으로 처리
- 기업별 provider 활성화, 가입 정책, 이메일 검증, 세션 정책을 설정 기반으로 분리해 운영 유연성과 유지보수성 확보
구조와 흐름
- 외부 provider 인증 후 Gate에서 사용 가능 여부와 credential 검증 수행
- 연결된 내부 사용자가 있으면 로그인, 없으면 registration token 발급 후 신규 가입 또는 기존 계정 연결로 분기
- 내부 계정 연결 시에는 username·password 재확인으로 소유자 검증 강화
선택 이유
- provider 로직과 도메인 정책을 분리해 새 provider 추가 시 영향 범위 최소화
- 외부 계정 정보와 내부 사용자 정보를 직접 섞지 않고 연결 정보로 관리해 확장성 확보
- 이메일 기반 자동 연결은 편의성이 높지만 검증 여부와 중복 사용자 상태를 함께 고려해 보안 유지
주의할 점
- 외부 인증 성공을 내부 로그인 성공으로 간주하지 않기
- 이메일 문자열 일치만으로 자동 연결하지 않기
- registration token은 짧은 수명과 단일 사용 원칙 유지
