Overview

Every smart home Action must include a mechanism for authenticating users.

Authentication allows you to link your users' Google accounts with user accounts in your authentication system. This allows you to identify your users when your fulfillment receives a smart home intent. Google smart home only supports OAuth with an authorization code flow.

Once you have an OAuth 2.0 implementation, you can optionally configure OAuth-based App Flip, which allows your users to more quickly link their accounts in your authentication system to their Google accounts.

OAuth

For smart home, you must use OAuth with an authorization code flow, which requires you to have two endpoints: the authorization and token exchange endpoints.

When you have authenticated a user, the user's third-party OAuth 2.0 access token is sent in the authorization header when smart home intents are sent to your fulfillment. All users have to perform account linking, because device information is sent to the Assistant with the action.devices.SYNC intent, which requires account linking.

Your smart home Action is expected to support multiple Google users connecting to the same user account (for example, when users give access to other users in their household). If your service can't support multiple user connections, it should provide errors at account linking time.

For instructions on how to set up an OAuth 2.0 server for your Action, see Implement your OAuth 2.0 server.

OAuth-based App Flip

Связывание приложений на основе OAuth (App Flip) позволяет пользователям легко и быстро связывать свои учетные записи в вашей системе аутентификации со своими учетными записями Google. Если ваше приложение установлено на телефоне вашего пользователя, когда он инициирует процесс привязки учетной записи, он легко переключается в ваше приложение для получения авторизации пользователя.

Этот подход обеспечивает более быстрый и простой процесс связывания, поскольку пользователю не нужно повторно вводить свое имя пользователя и пароль для аутентификации; вместо этого App Flip использует учетные данные из учетной записи пользователя в вашем приложении. После того, как пользователь связал свою учетную запись Google с вашим приложением, он может использовать любые интеграции, которые вы разработали.

Вы можете настроить App Flip как для приложений iOS, так и для Android.

На этом рисунке показаны действия пользователя по привязке своей учетной записи Google к вашей системе аутентификации. На первом снимке экрана показано, как пользователь может выбрать ваше приложение, если его учетная запись Google связана с вашим приложением. На втором снимке экрана показано подтверждение привязки их учетной записи Google к вашему приложению. На третьем снимке экрана показана успешно связанная учетная запись пользователя в приложении Google.
Рисунок 1. Связывание учетной записи на телефоне пользователя с помощью App Flip.

Требования

Для реализации App Flip необходимо выполнить следующие требования:

  • У вас должно быть приложение для Android или iOS.
  • Вы должны владеть, управлять и поддерживать сервер OAuth 2.0, который поддерживает поток кода авторизации OAuth 2.0.

For more information on the OAuth linking authorization code flow, see Implement your OAuth 2.0 server.

For instructions on how to configure App Flip for your Action, see OAuth-based App Flip.