DevLog

엔지니어링 블로그를 한 곳에서 탐색하고, 최근 발행 흐름을 빠르게 파악할 수 있는 서비스 입니다.

Quick Links

  • Latest Feed
  • Engineering Directory

Support

  • 소개
  • 개인정보처리방침

Contribute

  • 원하는 블로그 추가 (준비 중)
  • Feedback

© 2026 DevLog Inc. All rights reserved.

본 사이트는 공개 RSS 피드를 통해 콘텐츠를 수집하며, 모든 콘텐츠의 저작권은 원저작자에게 있습니다.

Back to Feed
KOEN
Read Original

Contents

Continue Reading

  • More from Airbnb
#Backend

유연한 인증(Flexible Authentication): 에어비앤비의 수백만 사용자를 위한 인증 시스템 재설계

유연한 인증(Flexible Authentication): 에어비앤비의 수백만 사용자를 위한 인증 시스템 재설계
01

Summary

로그인 실패로 인한 에어비앤비의 매출 손실을 막은 비결, '서버 구동형' 인증 아키텍처

클라이언트 코드 60%를 덜어내고 성공률 2.6%를 끌어올린 유연한 인증(Flexible Authentication)의 모든 것

에어비앤비는 수백만 명의 불규칙한 로그인 행동 패턴과 국가별 상이한 최적의 인증 환경에 대응해야 하는 과제를 안고 있었습니다. 이 아티클은 로직이 가득한 거대한 클라이언트를 걷어내고, 서버 정책 엔진과 서버 구동형 UI(SDUI)를 통해 언제 어디서나 사용자 맞춤형 로그인 경험을 유연하게 선사하도록 시스템을 재구축한 과정과 성과를 흥미롭게 풀어냅니다.

  • 01클라이언트 복잡성을 없애고 서버 기반 화면 설계를 도입하여 코드 양 60% 축소 및 번들 경량화 달성
  • 02브라질의 WhatsApp OTP, 한국의 Naver 연동 등 사용자의 지역 및 이력 맥락을 고려한 서버 정책 엔진 구현
  • 03사용자에게 이탈 없는 대체 경로를 제공하는 '챌린지 피커' 컴포넌트로 중복 계정 27% 감소
  • 04스키마 기반 타입 정의 자동 생성을 통해 클라이언트-서버 간 불일치 오류 사전 예방
  • 05실시간 실험 속도가 주 단위에서 일 단위로 단축되어 3개월 만에 20개 이상의 다양한 비즈니스 가설 테스트 완료

+RECOMMENDATION

다양한 글로벌 로컬 인증 연동이 필요하거나, 복잡한 사용자 가입/로그인 흐름의 이탈률을 낮추고 지속적으로 A/B 테스트를 시도해 보고 싶은 플랫폼 설계자들에게 적극 추천합니다.

The Problem

에어비앤비의 기존 인증 시스템은 10년간 유기적으로 여러 기능이 추가되면서 복잡한 비즈니스 로직이 클라이언트에 분산되어 있었으며, 로그인 실패 시 다른 방법으로 우회할 수 있는 경로가 없어 사용자 이탈 및 중복 계정 생성으로 이어졌습니다. 또한 새로운 인증 방식 도입이나 국가별 최적화 실험을 진행하려면 모바일 앱의 릴리스 주기 전체를 기다려야만 하는 한계가 있었습니다.

The Solution

사용자가 입력한 식별 정보를 통해 최적의 로그인 수단을 서버가 결정하는 '선 식별 후 인증(Identify first then Challenge)' 방식을 새롭게 정의했습니다. 이를 완벽하게 지원하기 위해 모든 단계별 흐름을 서버에서 제어하고 클라이언트는 단순히 화면을 렌더링하는 '서버 구동형 UI' 구조를 도입했으며, 사용자별/상황별 대체 인증 방식을 동적으로 추천해 주는 '챌린지 피커(Challenge Picker)' 컴포넌트를 설계했습니다.

The Result

비즈니스 로직 이관을 통해 클라이언트 상태 관리 코드가 간소화되어 기존 대비 60%의 코드 감소와 웹 클라이언트 번들 크기 100KB 절감을 달성했습니다. 또한 실험 주기를 주 단위에서 일 단위로 단축하여 출시 후 3달 동안 20개 이상의 실험을 완수했으며, 로그인 성공률은 2.6% 상승하고 중복 계정 생성율은 27% 감소, OTP 전송 비용은 약 11%를 절감하는 비즈니스 성과를 냈습니다.

Trade-off

인증 처리 로직과 화면 시퀀스의 권한이 모두 서버 정책 엔진에 집중됨에 따라, 서버 측 비즈니스 복잡도와 연산 부담이 증가하였습니다. 각 단계 전환 시마다 서버와 통신해야 하므로 네트워크 지연이 발생할 경우 클라이언트 측 지연이 가중될 수 있으며, 서버 스키마 변경 시 클라이언트와의 타입 호환성을 엄격하게 관리하지 않으면 오동작할 위험이 존재합니다.

03

Key Concepts

Concept · 01

서버 구동형 UI (Server-Driven UI)

UI의 구성 요소, 비즈니스 흐름, 화면 시퀀스를 클라이언트에 고정하지 않고 서버가 내려주는 API 데이터 포맷에 맞춰 동적으로 화면을 렌더링하는 기술 아키텍처 패턴입니다.

  • 로그인의 각 단계(식별자 입력, 인증 수단, 오류 복구 등)를 모두 서버가 제어하는 개별 화면 단위의 스키마로 정의했습니다.
  • 클라이언트 코드를 일일이 수정하고 출시 절차를 밟을 필요 없이, 서버 수정만으로 즉각적인 흐름 변경이 가능해졌습니다.
Concept · 02

선 식별 후 인증 (Identify First then Challenge)

사용자에게 우선 로그인 수단부터 묻는 방식에서 벗어나, 사용자가 입력한 고유 식별값(이메일, 전화번호 등)을 토대로 백엔드 시스템이 이 사용자에 최적인 인증 수단을 선별하여 유도하는 플로우 기법입니다.

  • 사용자의 국가나 기기 환경, 이전 로그인 이력을 기반으로 정책 엔진이 가장 성공률 높은 인증 도전 과제(Challenge)를 결정하여 응답합니다.
  • 예를 들어 브라질 사용자에게는 SMS 대신 현지 보급률이 높은 WhatsApp OTP를 최우선으로 제안합니다.
Concept · 03

챌린지 피커 (Challenge Picker)

사용자가 기본 제시된 인증 수단에 실패했을 때, 진행 상황을 포기하지 않고 다른 수단으로 유연하게 전환할 수 있도록 서버 기반으로 구성된 대체 인증 추천 컴포넌트입니다.

  • 모든 인증 화면의 하단에 '다른 방법으로 시도하기' 버튼을 기본 제공하여 데드엔드를 방지했습니다.
  • 사용자가 등록한 정보와 플랫폼 기능, 이력 데이터를 채점하여 대안 수단들의 우선순위를 정렬해 실시간으로 제공합니다.
Continue reading · same source

AirbnbMore from Airbnb

View all posts from Airbnb
  • 프로젝트 라이트하우스 3부 — project-lighthouse-anonymize를 소개합니다

    Data PrivacyAnonymizationPython
    4일 전
  • 코로나19의 종식을 알게 된 방법 (그리고 우리 모델이 잊어야 했던 것들)

    ForecastingBayesian MethodsMachine Learning
    1주 전
  • 평가 주도 개발: 대규모 GenAI 평가를 통해 얻은 교훈

    LLM EvaluationGenerative AIEval-Driven Development
    1개월 전
  • 게스트 여정 학습을 통한 에어비앤비 검색 개인화

    TransformerRecommendationSearch Personalization
    1개월 전
  • 몇 주에서 단 하루로: LLM 평가를 빠르게 반복 가능하도록 개선한 방법

    LLM EvaluationLoRACaching
    1개월 전

Source

Airbnb
Airbnb
Engineering Blog

Published · August 12, 2026

Topics

Server-Driven UIAuthenticationMobile ArchitectureAPI DesignPolicy Engine