認証情報の復元について

Credential Manager の Restore Credentials 機能を使用すると、ユーザーは新しいデバイスのセットアップ後にアプリを初めて開いたときに、アプリのアカウントを自動的に復元してログインできます。復元認証情報(復元キーとも呼ばれます)は、ローカルに保存したり、クラウド プロバイダにバックアップしたりできる認証情報の一種で、ユーザーの新しいデバイスでアクセスをプロビジョニングするために使用されます。

このガイドでは、次のコンセプトを理解していることを前提としています。

利点

認証情報の復元機能のメリットは次のとおりです。

  • シームレスなユーザー エクスペリエンス: ユーザーは、新しいデバイスでアプリをすぐに使い始めることができます。手動でログインする必要はありません。
  • ユーザーの定着率の向上とサポート費用の削減: デバイスのアップグレード時の自動ログインにより、ユーザーの離脱を防ぎ、放棄されたアカウントやパスワード復元フローに関連するサポート費用を大幅に削減できます。
  • セキュリティの強化: 認証情報のサイレント復元により、追加のログイン画面や手動のアカウント復元プロンプトが不要になり、フィッシングや認証情報の盗難攻撃に対する脆弱性が軽減されます。
  • すぐにエンゲージメント: ユーザーが新しいデバイスを使い始めたらすぐに、通知やその他のプロンプトでユーザーにアプローチできます。
  • 複数の認証メカニズムのサポート: 次のような複数の認証メカニズムに対応しています。

プロセスの概要

以降のセクションでは、各デバイスで必要なプロセスについて説明します。

以前のデバイスでの操作

ユーザーがアプリで認証された後、復元キーを生成します。ログイン直後、およびログイン済みのユーザーがアプリを起動したときです。Android バックアップ サービスは、生成された復元キーをデバイスに自動的に保存し、ユーザーのバックアップ設定に基づいてクラウドにも保存します。

ユーザーがクラウドにバックアップするには、次の要件を満たしている必要があります。

  • Google アカウントにログインしている。
  • Android データ バックアップが有効になっていること。詳細については、データのバックアップをご覧ください。
  • パターン、PIN、パスワード、生体認証などの画面ロック解除メカニズムが設定されている。

これらの条件が満たされない場合は、E2eeUnavailableException がスローされます。

新しいデバイスの場合

ユーザーが新しいデバイスをセットアップすると、Restore Credentials はデバイスのセットアップ プロセス中にバックグラウンドでサイレントに動作します。ユーザーは、次のいずれかのオプションからデータを復元できます。

  • クラウド バックアップから: クラウド バックアップが使用されている場合、復元キーはアプリデータとともに新しいデバイスにダウンロードされます。
  • デバイス間転送を使用する: ユーザーが古いデバイスと新しいデバイスを USB ケーブルで接続すると、復元キーが USB ケーブルを介して古いデバイスから新しいデバイスに移動します。

新しいデバイスで復元キーが利用可能になったら、それを使用してユーザーをログインさせることができます。

古いデバイスから新しいデバイスに認証情報を復元するフローでは、ユーザー インタラクションは必要ありません
図 1: 認証情報を復元するプロセスの概要

Restore Credentials とアプリデータのバックアップを組み合わせる

ユーザーのログインに加えて、アプリはユーザーのローカル設定、オフラインの下書き、ダークモードの設定を転送して、完全でスムーズなデバイス移行を実現する必要があります。

  • ID の復元: Restore Credentials を使用して、アカウント アクセスをバックグラウンドで再認証します。
  • 状態と設定を復元: 自動バックアップ(dataExtractionRulesを設定して、クラウドとケーブル デバイスの移行でユーザー設定、ローカル データベース、アプリの状態を保持します。

複数のシステム プロファイルとアプリ アカウントを処理する

認証情報の復元機能を実装する際は、マルチ アカウント アプリとシステムレベルのプロファイルに関する次の制約事項を考慮してください。

複数のアカウントにログインしているアプリ

一部のアプリでは、ユーザーが複数のアクティブなアカウント(同じアプリ内の個人用メール アカウントと仕事用メール アカウントなど)を切り替えることができます。Restore Credentials は、アプリごとに 1 つのアカウントのみをサポートします。ユーザーが複数のアカウントにログインしている場合は、復元キーを作成するアカウントを 1 つだけ選択する必要があります。通常、これはメイン アカウントまたは最近使用したアカウントになります。

複数のシステム プロファイルを持つデバイス

個別のシステム プロファイル(仕事用プロファイルと個人用プロファイルが設定された企業デバイスなど)が設定されたデバイスでは、復元キーはデバイスで最初に設定されたプロファイルでのみ使用できます。

制限事項

Restore Credentials はモバイル デバイスで動作しますが、フォーム ファクタをまたいで動作することはありません。