すべての Cloud-to-cloud インテグレーションには、ユーザーを認証するための仕組みを組み込む必要があります。
認証を使用すると、ユーザーの Google アカウントと認証システム内のユーザー アカウントを関連付けることができます。これにより、フルフィルメントでスマートホーム インテントを受け取ったときにユーザーを識別できます。Google スマートホームは、認証コードフローを使用した OAuth のみに対応します。
OAuth 2.0 を実装すると、OAuth ベースの App Flip を設定できるようになります。App Flip を使うと、デベロッパーの認証システムに登録されているユーザーのアカウントを、そのユーザーの Google アカウントに簡単にリンクできます。
OAuth
smart home では、認証コードフローを使用した OAuth を使用する必要があります。そのため、認証エンドポイントとトークン交換エンドポイントの 2 つのエンドポイントを用意する必要があります。
ユーザーを認証すると、smart home インテントがフルフィルメントに送信されたときに、ユーザーのサードパーティ OAuth 2.0 アクセス トークンが Authorization ヘッダーで送信されます。すべてのユーザーがアカウント リンクを実行する必要があります。これは、デバイス情報が、アカウント リンクを必要とする action.devices.SYNC
インテントとともに Google Assistant に送信されるためです。
Cloud-to-cloud インテグレーションは、同じユーザー アカウントに接続している複数の Google ユーザーをサポートする必要があります(ユーザーが家族の他のユーザーにアクセスを許可する場合など)。サービスが複数のユーザー接続をサポートできない場合は、アカウント リンク時にエラーが発生します。
インテグレーション用の OAuth 2.0 サーバーの設定手順については、OAuth 2.0 サーバーを実装するをご覧ください。
OAuth ベースのアプリ切り替え
OAuth ベースのアプリ切り替え(アプリ切り替え)を使用すると、ユーザーは、認証システム内のユーザーのアカウントを各自の Google アカウントに簡単かつ迅速にリンクできます。ユーザーのスマートフォンに対象のアプリがインストールされている場合、ユーザーがアカウント リンク処理を開始すると、そのアプリにシームレスに切り替わってユーザーの承認が取得されます。
このアプローチでは、ユーザーが認証のためにユーザー名とパスワードを再入力する必要がないため、リンク処理がより迅速かつ簡単になります。代わりに、アプリ切り替えはアプリ上のユーザー アカウントの認証情報を利用します。ユーザーが Google アカウントをアプリにリンクすると、デベロッパーが開発した統合機能を利用できるようになります。
iOS アプリと Android アプリの両方でアプリ切り替えを設定できます。

要件
アプリ切り替えを実装するには、次の要件を満たす必要があります。
- Android または iOS のアプリが必要です。
- OAuth 2.0 認可コードフローをサポートする OAuth 2.0 サーバーを所有、管理、メンテナンスする必要があります。
OAuth リンクの認証コードフローの詳細については、OAuth 2.0 サーバーを実装するをご覧ください。
統合用に App Flip を構成する手順については、OAuth ベースの App Flip をご覧ください。