認証情報の復元について

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

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

利点

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

  • シームレスなユーザー エクスペリエンス: ユーザーは、新しいデバイスでアプリをすぐに使い始めることができ、手動でログインする必要はありません。
  • すぐにエンゲージメントを促進: ユーザーが新しいデバイスを使い始めたらすぐに、通知やその他のプロンプトでユーザーにアプローチできます。
  • 複数の認証メカニズムのサポート: 認証情報マネージャーでサポートされているすべての認証メカニズム(以下を含む)で動作します。

プロセスの概要

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

以前のデバイスでの操作

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

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

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

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

新しいデバイスの場合

ユーザーが新しいデバイスをセットアップすると、デバイスのセットアップ プロセス中に認証情報の復元がバックグラウンドで自動的に実行されます。次のいずれかのオプションからデータ復元を選択できます。

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

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

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

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

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

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

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

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

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

制限事項

認証情報の復元はモバイル デバイスで機能しますが、フォーム ファクタ間では機能しません。