
클라이언트 코드 60%를 덜어내고 성공률 2.6%를 끌어올린 유연한 인증(Flexible Authentication)의 모든 것
에어비앤비는 수백만 명의 불규칙한 로그인 행동 패턴과 국가별 상이한 최적의 인증 환경에 대응해야 하는 과제를 안고 있었습니다. 이 아티클은 로직이 가득한 거대한 클라이언트를 걷어내고, 서버 정책 엔진과 서버 구동형 UI(SDUI)를 통해 언제 어디서나 사용자 맞춤형 로그인 경험을 유연하게 선사하도록 시스템을 재구축한 과정과 성과를 흥미롭게 풀어냅니다.
다양한 글로벌 로컬 인증 연동이 필요하거나, 복잡한 사용자 가입/로그인 흐름의 이탈률을 낮추고 지속적으로 A/B 테스트를 시도해 보고 싶은 플랫폼 설계자들에게 적극 추천합니다.
에어비앤비의 기존 인증 시스템은 10년간 유기적으로 여러 기능이 추가되면서 복잡한 비즈니스 로직이 클라이언트에 분산되어 있었으며, 로그인 실패 시 다른 방법으로 우회할 수 있는 경로가 없어 사용자 이탈 및 중복 계정 생성으로 이어졌습니다. 또한 새로운 인증 방식 도입이나 국가별 최적화 실험을 진행하려면 모바일 앱의 릴리스 주기 전체를 기다려야만 하는 한계가 있었습니다.
사용자가 입력한 식별 정보를 통해 최적의 로그인 수단을 서버가 결정하는 '선 식별 후 인증(Identify first then Challenge)' 방식을 새롭게 정의했습니다. 이를 완벽하게 지원하기 위해 모든 단계별 흐름을 서버에서 제어하고 클라이언트는 단순히 화면을 렌더링하는 '서버 구동형 UI' 구조를 도입했으며, 사용자별/상황별 대체 인증 방식을 동적으로 추천해 주는 '챌린지 피커(Challenge Picker)' 컴포넌트를 설계했습니다.
비즈니스 로직 이관을 통해 클라이언트 상태 관리 코드가 간소화되어 기존 대비 60%의 코드 감소와 웹 클라이언트 번들 크기 100KB 절감을 달성했습니다. 또한 실험 주기를 주 단위에서 일 단위로 단축하여 출시 후 3달 동안 20개 이상의 실험을 완수했으며, 로그인 성공률은 2.6% 상승하고 중복 계정 생성율은 27% 감소, OTP 전송 비용은 약 11%를 절감하는 비즈니스 성과를 냈습니다.
Trade-off
인증 처리 로직과 화면 시퀀스의 권한이 모두 서버 정책 엔진에 집중됨에 따라, 서버 측 비즈니스 복잡도와 연산 부담이 증가하였습니다. 각 단계 전환 시마다 서버와 통신해야 하므로 네트워크 지연이 발생할 경우 클라이언트 측 지연이 가중될 수 있으며, 서버 스키마 변경 시 클라이언트와의 타입 호환성을 엄격하게 관리하지 않으면 오동작할 위험이 존재합니다.
UI의 구성 요소, 비즈니스 흐름, 화면 시퀀스를 클라이언트에 고정하지 않고 서버가 내려주는 API 데이터 포맷에 맞춰 동적으로 화면을 렌더링하는 기술 아키텍처 패턴입니다.
사용자에게 우선 로그인 수단부터 묻는 방식에서 벗어나, 사용자가 입력한 고유 식별값(이메일, 전화번호 등)을 토대로 백엔드 시스템이 이 사용자에 최적인 인증 수단을 선별하여 유도하는 플로우 기법입니다.
사용자가 기본 제시된 인증 수단에 실패했을 때, 진행 상황을 포기하지 않고 다른 수단으로 유연하게 전환할 수 있도록 서버 기반으로 구성된 대체 인증 추천 컴포넌트입니다.




