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 のコードをよりシンプルな認証情報マネージャーの実装に置き換えたことで、デベロッパーは接続や切断のステータス、Activity の結果を処理する必要がなくなり、エラーの発生率が低下しました。
パスキーの未来
X のパスキーの統合は、より安全でユーザー フレンドリーな認証エクスペリエンスを実現できることを示しています。Credential Manager API を活用することで、X のデベロッパーは統合プロセスを簡素化し、潜在的なバグを減らし、セキュリティとデベロッパーの速度を向上させながら、ユーザー エクスペリエンスを向上させました。
「パスキーの統合を検討しているデベロッパーには、Credential Manager API を活用することをおすすめします」と Saurabh は述べています。「プロセスが大幅に簡素化され、記述して維持する必要のあるコードが削減されるため、デベロッパーにとって実装が容易になります。」
今後、X はパスキーのみでの登録を可能にし、パスキー専用の管理画面を提供することで、ユーザー エクスペリエンスをさらに向上させる予定です。
始める
パスキーと Credential Manager API を使用して、アプリのログイン UX を改善する方法について説明します。
続きを読む
-
事例紹介
Uber は Android Restore Credentials API を活用して新しいデバイスへのログインを効率化し、手動ログインを年間 400 万件削減し、ユーザー維持率を高めることを目指しています。
Niharika Arora • 所要時間: 5 分
-
事例紹介
セキュリティとシームレスなエクスペリエンスに重点を置いた包括的なクラウドベースのソフトウェア スイートである Zoho は、OneAuth Android アプリにパスキーを採用することで大幅な改善を実現しました。
Niharika Arora, Joseph Lewis • 所要時間: 10 分
-
事例紹介
Monzo は英国のデジタルバンクで、顧客数は 1,500 万人を超え、増加し続けています。アプリが拡大するにつれて、エンジニアリング チームはアプリの起動時間を改善すべき重要な領域として特定しましたが、コードベースに大幅な変更が必要になることを懸念していました。
Ben Weiss • 所要時間: 2 分
メールを受け取る
Android 開発に関する最新の分析情報を毎週メールでお届けします。