速報ニュースやエンタメからスポーツや政治まで、X は、世界中の約 5 億人のユーザーがライブ コメンタリー付きで最新情報を入手できるソーシャル メディア アプリです。最近、X のデベロッパーは Android アプリのログイン プロセスを刷新し、ユーザーが関心のある会話を見逃さないようにしました。Credential Manager API を使用して、アプリへのより迅速、簡単、安全なアクセスを実現する新しい パスキー 認証を実装しました。
パスキーでログインを簡素化
現在、従来のパスワードベースの認証システムは安全性が低く、サイバー攻撃を受けやすい傾向があります。多くのユーザーは推測しやすいパスワードを選択しがちで、悪意のあるユーザーは総当たり攻撃で簡単にパスワードを破ることができます。また、複数のアカウントで同じパスワードを使い回している場合、1 つのパスワードがハッキングされるとすべてのアカウントが不正使用されることになります。
パスキーは、パスワードを完全に不要にすることで、脆弱なパスワードやフィッシング攻撃によるアカウントのセキュリティに対する懸念の高まりに対応します。この機能により、ユーザーはユーザー名やパスワードを記憶する必要がなくなり、より安全でシームレスなログイン エクスペリエンスを実現できます。
X の安全責任者である Kylie McRoberts 氏は次のように述べています。「パスキーは、パスワードを PIN や生体認証データ(指紋や顔認識など)に置き換える、よりシンプルで安全なログイン方法です。パスキーを使用することで、ユーザーはパスワードを記憶する手間をかけずに、より簡単かつ安全にログインでき、アカウントを保護できます。」
パスキーを実装して以来、X チームはログイン時間の短縮とログイン フローの改善を示す指標の向上を実感しています。パスキーを使用すると、パスワードのみに依存していた場合に比べてアプリのログイン成功率が 2 倍 になりました。また、パスキーを有効にしたユーザーからのパスワードの再設定リクエストも減少しています。
X のデベロッパーによると、パスキーの導入には、セキュリティの強化やログイン エクスペリエンスの簡素化だけでなく、コストの削減や UX の向上といったメリットもありました。
Kylie 氏は次のように述べています。「パスキーは強力な固有の認証を提供するため、SMS ベースの 2 要素認証に関連する費用を削減できました。また、ログインが簡単になったため、パスワードを記憶したり再設定したりする手間が省け、ユーザーがプラットフォームを利用しやすくなりました。」
パスキーは、公開鍵暗号を使用してユーザーを認証し、秘密鍵を提供します。つまり、ウェブサイトやアプリは公開鍵を確認して保存できますが、秘密鍵は確認できません。秘密鍵はユーザーの認証情報プロバイダによって暗号化されて保存されます。鍵は一意であり、ウェブサイトまたはアプリに関連付けられているため、フィッシング攻撃を受けることはなく、セキュリティが強化されます。
Credential Manager API を使用したシームレスな統合
パスキーを統合するために、X のデベロッパーは Android の Credential Manager API を使用しました。Kylie 氏によると、このプロセスは「非常にスムーズ」でした。この API は、Smart Lock、ワンタップ、Google ログインを 1 つの合理化されたワークフローに統合します。これにより、デベロッパーは数百行のコードを削除し、実装を促進してメンテナンスのオーバーヘッドを削減できました。
最終的に、X のデベロッパーは認証情報マネージャーへの移行を 2 週間で完了し、その後 2 週間でパスキーを完全にサポートしました。X のスタッフ エンジニアである Saurabh Arora 氏は、これは「非常に迅速な移行」であり、「これほど簡単でわかりやすいとは予想していなかった」と述べています。Credential Manager のシンプルでコルーチン駆動の API により、複数の認証オプションの処理の複雑さが解消され、コード、バグの可能性、デベロッパーの労力が削減されました。
X のデベロッパーは、Credential Manager API を統合することで、デベロッパーの速度が大幅に向上しました。Credential Manager API を介してパスキーの導入に移行したことで、次の成果を達成しました。
- 認証モジュールのコードを 80% 削減
- 従来のエッジケースのバグを 90% 解決
- GIS、ワンタップ、Smart Lock の処理コードを 85% 削減
Credential Manager API のトップレベル メソッド(createCredential や getCredential など)を使用することで、個々のプロトコルに関するカスタム ロジックの複雑さが解消され、統合が簡素化されました。また、この統一されたアプローチにより、X のデベロッパーは、パスキー、パスワード、「Google でログイン」などのフェデレーション ログインなど、さまざまな認証タイプを処理するために、単一の整合性のあるインターフェースを使用できるようになりました。
Saurabh 氏は次のように述べています。「Credential Manager のシンプルな API メソッドを使用すると、1 回の呼び出しでパスキー、パスワード、フェデレーション トークンを取得できるため、分岐ロジックが削減され、レスポンス処理が簡素化されました。createCredential() や getCredential() などのさまざまな API メソッドを使用することで、認証情報ストレージの保存も簡素化され、パスワードとパスキーを 1 か所で処理できるようになりました。
X のデベロッパーは、Credential Manager API を使用して「Google でログイン」を導入する際に、多くの課題に直面しませんでした。X の以前の Google ログイン、ワンタップ、Smart Lock のコードを、よりシンプルな認証情報マネージャーの実装に置き換えたことで、デベロッパーは接続ステータスや Activity の結果を処理する必要がなくなり、エラーの余地が減りました。
パスキーの未来
X のパスキーの統合は、より安全でユーザー フレンドリーな認証エクスペリエンスを実現できることを示しています。Credential Manager API を活用することで、X のデベロッパーは統合プロセスを簡素化し、潜在的なバグを減らし、セキュリティとデベロッパーの速度を向上させながら、ユーザー エクスペリエンスを向上させました。
Saurabh 氏は次のように述べています。「パスキーの統合を検討しているデベロッパーには、Credential Manager API を活用することをおすすめします。プロセスが簡素化され、記述して維持する必要のあるコードが削減されるため、デベロッパーにとって実装が容易になります。」
今後、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 開発に関する最新の分析情報を毎週メールでお届けします。