VicroCode
让代码创造价值
VicroCode是一个轻量级代码在线发布、交易平台,开箱即用,免部署、免服务器、免备案,支持接入智能体、通用管理系统、游戏等多种项目
稍候片刻,您可先学习AI编程手册
正在加载中...

市场信息

Airbnb 采用服务端驱动架构,身份验证代码量减少 60%

点击查看原文>

www.infoq.cn · 2026-09-10T12:46:00+00:00

Airbnb 重新设计了其认证架构,使 Web、iOS 和 Android 端的登录流程更便于迭代调整。新系统将认证决策从客户端转移到了服务端策略引擎,该引擎根据用户和会话上下文选择最合适的身份验证校验方式。

据 Airbnb 介绍,本次架构重构把身份验证相关代码量减少了 60%,Web 客户端包体积减小了 100 KB,成功认证率提高了 2.6%,重复账户创建减少了 27%。 Airbnb 的“先识别再校验”架构(来源: Airbnb 博客文章 ) 该架构将身份验证拆分为两个阶段。

首先,用户使用电子邮件地址、电话号码或第三方社交登录来识别他们想要访问的账户。然后,服务器评估账户和会话信息,并使用可配置的策略引擎选择成功率最高的验证方式,其他可用验证方式作为备选选项返回。

例如,系统可以优先为巴西用户选用 WhatsApp OTP,或为韩国用户选用当地身份认证服务商。 Airbnb 工程师 Jose Santos 解释了 重新设计背后所面临的用户痛点: 用户往往会记不得几个月或几年前他们是如何创建账户的。

他们可能更换了设备、原手机号已经无法使用,或者在其他地区使用不同的登录方式。身份验证机制必须能够适配这类复杂情况。

一个关键的架构变化是客户端不再决定呈现哪种认证方式。服务器做出这一决策,而客户端仅负责渲染服务器返回的页面。

这使得 Airbnb 能够按区域调整认证策略或进行实验,而无需发布新的客户端代码。 Airbnb 引入了服务端驱动的 Challenge Picker),帮助用户在认证失败时无需重新开始整个流程即可恢复。

每个挑战都包含一个“尝试其他方式”选项,服务器会根据先前成功的方法、已注册的认证方法以及平台可用性返回排序后的备选方案。服务端驱动的认证流程(来源: Airbnb 博客文章 ) 公司将服务端驱动模型扩展到了注册和登录流程。

账号标识输入、身份验证挑战、账号选择以及异常处理界面,全部由服务端定义页面来实现。 Web、iOS 和 Android 客户端渲只负责渲染这些页面,并将用户操作回传给服务端。

服务端模式还会生成客户端类型定义,并且在开发阶段辅助检测前后端数据不匹配问题。将认证流程逻辑转移到服务器改变了 Airbnb 的实验迭代周期。

新系统上线后的前三个月,公司进行了 20 余次实验,其中无需改动客户端的实验,从想法提出到拿到可量化的实验结果只需几天而不是几周。本次架构重构还涵盖了区域认证方法、返回用户流程、加载状态和错误处理。

Airbnb 首席体验设计师 Chloe Fan 表示 ,最初的极简版本由于交互界面太容易被用户误关闭,反而造成用户参与度下降,这也推动团队开展更多实验并持续迭代优化。 Airbnb 报告称,成功认证率提高了 2.6%,重复账户创建减少了 27%,OTP 成本降低了约 11%。

新架构让 Airbnb 能够持续迭代身份验证方式与流程逻辑,而无需将这些业务判断逻辑硬编码到各个客户端当中。查看英文原文: /ai-market-guide/

返回 AI 市场导读

来源:infoq.cn