すべての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-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 サーバーを実装するをご覧ください。
連携の アプリ切り替えを設定する手順については、OAuth ベースのApp Flipをご覧ください。App Flip