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

Penautan Balik Aplikasi berbasis OAuth (Balik Aplikasi) memungkinkan pengguna Anda dengan mudah dan cepat menautkan akun mereka di sistem autentikasi Anda ke akun Google mereka. Jika aplikasi Anda diinstal pada ponsel pengguna Anda saat mereka memulai proses penautan akun, mereka akan dengan mulus membuka aplikasi Anda untuk mendapatkan otorisasi pengguna.

Pendekatan ini menyediakan proses penautan yang lebih cepat dan mudah karena pengguna tidak perlu memasukkan kembali nama pengguna dan sandi untuk mengautentikasi; sebagai gantinya, App Flip memanfaatkan kredensial dari akun pengguna di aplikasi Anda. Setelah pengguna menautkan akun Google mereka dengan aplikasi Anda, mereka dapat memanfaatkan integrasi apa pun yang telah Anda kembangkan.

Anda dapat mengatur App Flip untuk aplikasi iOS dan Android.

Gambar ini menunjukkan langkah-langkah bagi pengguna untuk menautkan akun Google mereka ke sistem otentikasi Anda. Tangkapan layar pertama menunjukkan bagaimana pengguna dapat memilih aplikasi Anda jika akun Google mereka ditautkan ke aplikasi Anda. Tangkapan layar kedua menunjukkan konfirmasi untuk menautkan akun Google mereka dengan aplikasi Anda. Tangkapan layar ketiga menunjukkan akun pengguna yang berhasil ditautkan di aplikasi Google.
Gambar 1. Penautan akun di ponsel pengguna dengan App Flip.

Persyaratan

Untuk mengimplementasikan App Flip, Anda harus memenuhi persyaratan berikut:

  • Anda harus memiliki aplikasi Android atau iOS.
  • Anda harus memiliki, mengelola, dan memelihara server OAuth 2.0 yang mendukung aliran kode otorisasi 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.