すべての 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-based App Flip Linking (App Flip) allows your users to easily and quickly link their accounts in your authentication system to their Google accounts. If your app is installed on your user’s phone when they initiate the account linking process, they are seamlessly flipped to your app to obtain user authorization.
This approach provides a faster and easier linking process since the user does not have to re-enter their username and password to authenticate; instead, App Flip leverages the credentials from the user's account on your app. Once a user has linked their Google account with your app, they can take advantage of any integrations that you have developed.
You can set up App Flip for both iOS and Android apps.
Requirements
To implement App Flip, you must fulfill the following requirements:
- You must have an Android or iOS app.
- You must own, manage and maintain an OAuth 2.0 server which supports the OAuth 2.0 authorization code flow.
OAuth リンクの認証コードフローの詳細については、OAuth 2.0 サーバーを実装するをご覧ください。
統合用に App Flip を構成する手順については、OAuth ベースの App Flip をご覧ください。