アカウントのリンク

すべての smart home アクションには、ユーザーを認証するためのメカニズムが含まれている必要があります。

認証を使用すると、ユーザーの Google アカウントを認証システム内のユーザー アカウントにリンクできます。これにより、フルフィルメントでスマートホーム インテントを受け取ったときにユーザーを識別できます。Google スマートホームは、認証コードフローを使用した OAuth のみをサポートします。

OAuth 2.0 を実装すると、必要に応じて OAuth ベースの App Flip を設定できます。これにより、ユーザーは認証システム内のアカウントを Google アカウントにすばやくリンクできるようになります。

OAuth

smart home の場合、認証コードフローを使用した OAuth を使用する必要があります。これには、認証エンドポイントとトークン交換エンドポイントの 2 つのエンドポイントが必要です。

ユーザーを認証すると、smart home インテントがフルフィルメントに送信されたときに、ユーザーのサードパーティ OAuth 2.0 アクセス トークンが Authorization ヘッダーで送信されます。すべてのユーザーがアカウント リンクを実行する必要があります。これは、デバイス情報が、アカウント リンクを必要とする action.devices.SYNC インテントとともに Google Assistant に送信されるためです。

smart home アクションは、同じユーザー アカウントに接続する複数の Google ユーザーをサポートすることが想定されています(ユーザーが家族の他のユーザーにアクセス権を付与する場合など)。サービスが複数のユーザー接続をサポートできない場合は、アカウント リンク時にエラーが返されます。

OAuth 2.0 サーバーの設定方法については、OAuth 2.0 サーバーを実装するをご覧ください。

OAuth ベースのアプリ切り替え

OAuth ベースのアプリ切り替えリンク(アプリ切り替え)を使用すると、ユーザーが認証システム内のアカウントを Google アカウントにすばやく簡単にリンクできます。ユーザーがアカウントのリンク プロセスを開始した際、アプリがユーザーのスマートフォンにインストールされている場合は、ユーザーはシームレスにアプリを切り替えてユーザー認証を取得します。

このアプローチでは、ユーザーが認証のためにユーザー名とパスワードを再入力する必要がなく、より迅速かつ簡単にリンクできます。アプリ切り替えでは、アプリ上のユーザーのアカウントの認証情報を使用します。ユーザーが Google アカウントとアプリをリンクすると、ユーザーは開発した統合を活用できます。

アプリ切り替えは、iOS アプリと Android アプリの両方に設定できます。

この図は、ユーザーが Google アカウントを認証システムにリンクするための手順を示しています。最初のスクリーンショットは、Google アカウントがアプリにリンクされている場合に、ユーザーがアプリを選択する方法を示しています。2 番目のスクリーンショットは、Google アカウントとアプリをリンクする確認の画面です。3 番目のスクリーンショットは、Google アプリで正常にリンクされたユーザー アカウントを示しています。
図 1.アプリ切り替えを使用するユーザーのスマートフォンでのアカウント リンク

要件

アプリ切り替えを実装するには、次の要件を満たす必要があります。

  • Android アプリまたは iOS アプリが必要です。
  • OAuth 2.0 認証コードフローをサポートする OAuth 2.0 サーバーを所有、管理、保守する必要があります。

OAuth リンクの認証コードフローの詳細については、OAuth 2.0 サーバーを実装するをご覧ください。

アクションに App Flip を構成する方法については、OAuth ベースの App Flip をご覧ください。