アカウントのリンク

すべてのCloud-to-cloud連携には、ユーザーを認証するための 仕組みを組み込む必要があります。

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

OAuth 2.0 を実装すると、 OAuth ベースの App Flipを設定できるようになります。これを使うと、 デベロッパーの認証システムに登録されているユーザーのアカウントを そのユーザーの Google アカウントに簡単にリンクできます。

OAuth

smart homeでは、認証コード フローを使用した OAuth を使用しなければなりません。そのため、認証エンドポイントと トークン交換エンドポイントの 2 つのエンドポイントを用意する必要があります。

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

Cloud-to-cloud連携では、同じユーザー アカウントに接続している複数の Google ユーザーをサポートすることが期待されています(ユーザーが 家族の他のユーザーにアクセスを許可する場合など)。サービスが複数のユーザー接続をサポートできない場合は、アカウント リンク時にエラーが発生します。

連携に OAuth 2.0 サーバーを設定する手順については、 OAuth 2.0 サーバーを実装するをご覧ください。

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

OAuth ベースのアプリ切り替え(アプリ切り替え)を使用すると、ユーザーは、認証システム内のユーザーのアカウントを各自の Google アカウントに簡単かつ迅速にリンクできます。ユーザーのスマートフォンに対象のアプリがインストールされている場合、ユーザーがアカウント リンク処理を開始すると、そのアプリにシームレスに切り替わってユーザーの承認が取得されます。

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

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

この図は、ユーザーが自身の Google アカウントをデベロッパーの認証システムにリンクする手順を示しています。1 つ目のスクリーンショットは、ユーザーの Google アカウントがアプリにリンクされている場合にユーザーがアプリをどのように選択できるかを示しています。2 つ目のスクリーンショットは、Google アカウントとアプリをリンクするための確認画面を示しています。3 つ目のスクリーンショットは、Google アプリでユーザー アカウントが正常にリンクされた状態を示しています。
図 1. ユーザーのスマートフォンでのアプリ切り替えによるアカウント リンク。

要件

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

  • Android または iOS のアプリが必要です。
  • OAuth 2.0 認可コードフローをサポートする OAuth 2.0 サーバーを所有、管理、メンテナンスする必要があります。

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

連携の アプリ切り替えを設定する手順については、OAuth ベースのApp Flipをご覧ください。App Flip