認証情報の復元について

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

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

特典

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

  • シームレスなユーザー エクスペリエンス: ユーザーは、手動でログインすることなく、 新しいデバイスでアプリをすぐに使用できます。
  • 即時のエンゲージメント: ユーザーが新しいデバイスの使用を開始するとすぐに、通知やその他の プロンプトでユーザーにエンゲージできます。
  • 複数の認証メカニズムのサポート: 認証情報マネージャーでサポートされているすべての 認証メカニズム(次を含む)で動作します。

プロセスの概要

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

以前のデバイス

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

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

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

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

新しいデバイス

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

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

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

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

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

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

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

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

複数のシステム プロファイルがあるデバイス

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

制限事項

[認証情報を復元] はモバイル デバイスで動作しますが、フォーム ファクタ間では動作しません。