柔軟な認証:Airbnbにおける数百万人のユーザーのための認証の再考
Airbnbは、ユーザーのニーズと技術的な複雑性に対応するため、Flexible Authenticationを導入し、認証システムを再構築しました。ユーザーが不規則な間隔でログインすることを理解し、チームはこの状況をエッジケースではなく、中心的な課題として認識しました。新しいアプローチである「Identify first then Challenge」は、ユーザーの識別と検証方法を分離します。これにより、サーバーはユーザーのコンテキストと地域的な要因に基づいて、最も適切なチャレンジをインテリジェントに選択できます。重要なプロダクトインサイトは、すべての認証画面にエスケープルートを提供する必要があるということであり、これが「Try another way」オプションとChallenge Pickerにつながりました。認証体験を完全にサーバー主導にすることで、長いクライアントリリースサイクルを回避し、より迅速なイテレーションと実験が可能になりました。このサーバー主導モデルは、クライアント側のコードとバンドルサイズを大幅に削減し、パフォーマンスを向上させました。最終的に、新しいシステムは、認証成功率の向上、重複アカウントの削減、運用コストの削減につながりました。Flexible Authenticationは、プロダクトインサイトとエンジニアリングアーキテクチャが相互に絡み合っていることを強調する、継続的な改善のためのフレームワークを表しています。中心的な教訓は、意思決定の境界をクライアントから移動させることで、グローバル規模のシステムに必要なイテレーション速度を解き放つことができるということです。