速報やエンターテイメントからスポーツや政治まで、X は、世界中の約 5 億人のユーザーがライブ コメンタリーで全容を把握できるようにすることを目的としたソーシャル メディア アプリです。最近、X のデベロッパーは Android アプリのログイン プロセスを刷新し、ユーザーが興味のある会話を見逃さないようにしました。チームは Credential Manager API を使用して、アプリへのアクセスをより迅速、簡単、安全にする新しいパスキー認証を実装しました。
パスキーでログインを簡素化する
現在、従来のパスワード ベースの認証システムは、セキュリティが低く、サイバー攻撃を受けやすい状態です。多くのユーザーは推測しやすいパスワードを選びがちですが、攻撃者はブルート フォース攻撃で簡単にパスワードを解読できます。また、複数のアカウントで同じパスワードを使い回しているため、1 つのパスワードがハッキングされると、すべてのアカウントが不正使用される可能性があります。
パスキーは、パスワードの脆弱性やフィッシング攻撃によるアカウントのセキュリティに対する懸念の高まりに対応するため、パスワードを完全に不要にします。この機能により、ユーザーはユーザー名やパスワードを記憶する必要がなくなり、より安全でシームレスなログイン エクスペリエンスが実現します。
X の安全担当責任者である Kylie McRoberts 氏は、「パスキーは、パスワードに代わる、よりシンプルで安全なログイン方法です。パスワードの代わりに、PIN や指紋認証、顔認識などの生体認証データを使用します」と述べています。「パスキーを使用することで、ユーザーがより簡単かつ安全にログインできるようになり、パスワードを覚える手間をかけずにアカウントを保護できるようになることを検討しました。」
パスキーを実装して以来、X チームはログイン時間の短縮と、ログイン フローの改善を示す指標の向上を大幅に確認しています。パスキーを使用すると、パスワードのみに依存していた場合と比較して、アプリのログイン成功率が 2 倍になりました。また、パスキーを有効にしているユーザーからのパスワードの再設定リクエストも減少しています。
X のデベロッパーによると、パスキーの導入は、セキュリティの強化やログイン エクスペリエンスの簡素化だけでなく、コストの削減や UX の向上といったメリットももたらしたそうです。
「パスキーは、強力な固有の認証を提供するため、SMS ベースの 2 要素認証に関連する費用を削減できました」と Kylie 氏は述べています。「ログインが簡単になったことで、パスワードを覚えたりリセットしたりする手間が省け、ユーザーがプラットフォームを利用しやすくなりました。」
パスキーは、公開鍵暗号を使用してユーザーを認証し、秘密鍵を提供します。つまり、ウェブサイトやアプリでは公開鍵の確認と保管はできますが、秘密鍵が保管されることはありません。秘密鍵は暗号化され、ユーザーの認証情報プロバイダによって保管されます。鍵は一意であり、ウェブサイトまたはアプリに関連付けられているため、フィッシング攻撃から保護され、セキュリティが強化されます。
Credential Manager API を使用したシームレスな統合
パスキーを統合するために、X のデベロッパーは Android の Credential Manager API を使用しました。Kylie 氏によると、このプロセスは「非常にスムーズ」だったそうです。この API により、Smart Lock、ワンタップ、Google ログインが統合され、単一の効率的なワークフローになります。また、デベロッパーは数百行のコードを削除できるようになり、実装が促進され、メンテナンスのオーバーヘッドが削減されました。
最終的に、認証情報マネージャーへの移行は X 人のデベロッパーによって 2 週間で完了し、その後 2 週間でパスキーの完全なサポートが実現しました。X のスタッフ エンジニアである Saurabh Arora 氏は、これは「非常に迅速な移行」であり、「これほど簡単でわかりやすいとは予想していなかった」と述べています。認証情報マネージャーのシンプルでコルーチン駆動の API のおかげで、複数の認証オプションを処理する複雑さが実質的に解消され、コード、バグの可能性、デベロッパーの全体的な労力が軽減されました。
X 社のデベロッパーは、Credential Manager API を統合することで、デベロッパーの速度が大幅に向上しました。Credential Manager API を介してパスキーの採用に移行した結果、次の成果を達成しました。
- 認証モジュールのコードを 80% 削減
- 以前のエッジケースのバグの 90% を解決
- GIS、ワンタップ、Smart Lock の処理コードが 85% 削減
Credential Manager API のトップレベル メソッド(createCredential や getCredential など)を使用すると、個々のプロトコルを取り巻くカスタム ロジックの複雑さが解消され、統合が簡素化されます。この統一されたアプローチにより、X のデベロッパーは、パスキー、パスワード、「Google でログイン」などのフェデレーション ログインなど、さまざまな認証タイプを処理するための単一の整合性のあるインターフェースを使用できるようになりました。
「Credential Manager のシンプルな API メソッドを使用すると、1 回の呼び出しでパスキー、パスワード、フェデレーション トークンを取得できるため、分岐ロジックが削減され、レスポンス処理がよりクリーンになりました」と Saurabh 氏は述べています。「createCredential() や getCredential() などのさまざまな API メソッドを使用することで、認証情報ストレージも簡素化され、パスワードとパスキーを 1 か所で処理できるようになりました。」
X 社のデベロッパーは、Credential Manager API を使用して「Google でログイン」を導入する際に、多くの課題に直面することはありませんでした。X の以前の Google ログイン、ワンタップ、Smart Lock のコードをよりシンプルな認証情報マネージャーの実装に置き換えたことで、デベロッパーは接続や切断のステータス、アクティビティの結果を処理する必要がなくなり、エラーの発生率が低下しました。
パスキーの未来
X のパスキー統合は、より安全でユーザー フレンドリーな認証エクスペリエンスを実現できることを示しています。X のデベロッパーは、Credential Manager API を活用することで、統合プロセスを簡素化し、潜在的なバグを減らし、セキュリティとデベロッパーの速度を向上させながら、ユーザー エクスペリエンスを向上させました。
「パスキーの統合を検討しているデベロッパーには、Credential Manager API を活用することをおすすめします」と Saurabh 氏は述べています。「プロセスが大幅に簡素化され、記述して維持する必要のあるコードが削減されるため、デベロッパーにとって実装が容易になります。」
今後、X はパスキーのみでの登録を可能にし、専用のパスキー管理画面を提供することで、ユーザー エクスペリエンスをさらに向上させる予定です。
始める
パスキーと Credential Manager API を使用して、アプリのログイン UX を改善する方法について説明します。
-
事例紹介Uber は Android Restore Credentials API を活用して新しいデバイスへのログインを効率化し、手動ログインを年間 400 万件削減し、ユーザー維持率を高めることを目指しています。
Niharika Arora, Tracy Agyemang • 所要時間: 5 分 -
事例紹介Karrot は、地域密着型のコミュニティ主導のピアツーピア マーケットプレイス アプリです。ユーザーは、他の確認済みのユーザーとアイテムの売買や交換を行うことができます。2015 年に韓国でリリースされて以来、このプラットフォームはグローバル市場に拡大し、4,300 万人を超える登録ユーザーを獲得しています。
Thomas Ezan, Tracy Agyemang • 所要時間: 2 分 -
事例紹介Monzo は、1,500 万人の顧客を擁し、成長を続ける英国のデジタルバンクです。アプリが拡大するにつれて、エンジニアリング チームはアプリの起動時間を改善すべき重要な領域として特定しましたが、コードベースに大幅な変更が必要になることを懸念していました。
Ben Weiss, Tracy Agyemang • 所要時間: 2 分
Android 開発に関する最新の分析情報を毎週メールでお届けします。