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

Mit der OAuth-basierten App Flip-Verknüpfung (App Flip) können Ihre Benutzer ihre Konten in Ihrem Authentifizierungssystem einfach und schnell mit ihren Google-Konten verknüpfen. Wenn Ihre App beim Starten des Kontoverknüpfungsprozesses auf dem Telefon Ihres Benutzers installiert ist, werden diese nahtlos in Ihre App gespiegelt, um die Benutzerautorisierung zu erhalten.

Dieser Ansatz bietet einen schnelleren und einfacheren Verknüpfungsprozess, da der Benutzer seinen Benutzernamen und sein Kennwort nicht erneut eingeben muss, um sich zu authentifizieren. Stattdessen nutzt App Flip die Anmeldeinformationen aus dem Benutzerkonto in Ihrer App. Sobald ein Nutzer sein Google-Konto mit Ihrer App verknüpft hat, kann er alle von Ihnen entwickelten Integrationen nutzen.

Sie können App Flip sowohl für iOS- als auch für Android-Apps einrichten.

Diese Abbildung zeigt die Schritte, mit denen ein Nutzer sein Google-Konto mit Ihrem Authentifizierungssystem verknüpfen kann. Der erste Screenshot zeigt, wie ein Nutzer Ihre App auswählen kann, wenn sein Google-Konto mit Ihrer App verknüpft ist. Der zweite Screenshot zeigt die Bestätigung für die Verknüpfung des Google-Kontos mit Ihrer App. Der dritte Screenshot zeigt ein erfolgreich verknüpftes Benutzerkonto in der Google App.
Abbildung 1. Kontoverknüpfung auf dem Telefon eines Benutzers mit App Flip.

Bedarf

Um App Flip zu implementieren, müssen Sie die folgenden Anforderungen erfüllen:

  • Sie müssen eine Android- oder iOS-App haben.
  • Sie müssen einen OAuth 2.0-Server besitzen, verwalten und warten, der den OAuth 2.0-Autorisierungscodefluss unterstützt.

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.