Le type d'association de compte optimal pour votre action est celui qui offre l'expérience la plus simple à vos utilisateurs et qui répond aux besoins de votre application ou de votre entreprise. Le choix du type d'association dépend principalement des facteurs suivants:
- Autoriser ou non la création de comptes par commande vocale
- Indique si vous souhaitez que les utilisateurs puissent se connecter à votre service avec un compte autre que Google.
- Indique si votre service peut stocker des informations confidentielles (par exemple, un code secret de client).
Pour déterminer le type d'association de comptes idéal, procédez comme suit:
- Considérez les questions de la section Identifier votre type de connexion préféré.
- Consultez l'arbre de décision pour choisir votre type d'association.
- Accédez à la section qui correspond au type initial que vous avez choisi pour affiner davantage son fonctionnement.
Identifier votre type de connexion préféré
Avant de consulter l'arbre de décision, posez-vous les questions suivantes:
- Pensez-vous que tous vos utilisateurs possèdent un compte Google ?
- Si votre action ne cible que l'Assistant, tous vos utilisateurs doivent disposer d'un compte Google. Si votre action cible des plates-formes autres que l'Assistant, vous ne pouvez pas vous attendre à ce que tous vos utilisateurs aient un compte Google.
- Si votre service compte déjà des utilisateurs, il est probable que certains ne possèdent pas de compte Google ou ne se soient pas connectés à votre service avec un compte Google.
- Si vous avez une implémentation OAuth, peut-elle être étendue pour assurer la compatibilité avec le protocole Google ?
- Pour prendre en charge le protocole Google, vous devez pouvoir ajouter les fonctionnalités
intent=get
etintent=create
au point de terminaison de votre échange de jetons. Cette fonctionnalité permet à Google de vérifier si l'utilisateur existe déjà dans votre backend et d'envoyer une requête pour créer un compte sur votre service, respectivement.
- Pour prendre en charge le protocole Google, vous devez pouvoir ajouter les fonctionnalités
Suivez l'arbre de décision ci-dessous pour identifier le type d'association de comptes le plus adapté pour vous et vos utilisateurs:
Une fois que vous avez sélectionné un type d'association, passez à la section correspondante ci-dessous pour en savoir plus sur son fonctionnement et prendre d'autres décisions sur le fonctionnement de l'association de comptes dans votre action.
OAuth et Google Sign-In
Le type d'association OAuth et Google Sign-In (GSI) ajoute des GSI à l'association de compte basée sur OAuth, ce qui offre les avantages des GSI (par exemple, l'association par commande vocale pour les utilisateurs Google) tout en permettant l'association de comptes pour les utilisateurs qui se sont inscrits à votre service avec un compte autre que Google. Ce type d'association est particulièrement avantageux pour les utilisateurs finaux, car il fournit un flux simple aux utilisateurs de Google avec une solution de secours pour les utilisateurs autres que Google. Pour en savoir plus sur le fonctionnement du type d'association OAuth et GSI, consultez le guide de concept OAuth et Google Sign-In.
Affiner le type d'association OAuth et Google Sign-In
Lorsque vous utilisez le type d'association de comptes OAuth et GSI dans votre action, vous devez spécifier les réponses aux questions suivantes dans la console Actions pour en définir le fonctionnement:
Voulez-vous activer la création de comptes Voice ou n'autoriser que la création de comptes sur votre site Web ?
En règle générale, vous devez activer la création de compte par commande vocale afin que les utilisateurs d'un appareil non filtré puissent créer un compte sans avoir à le transférer vers un autre appareil. Si vous n'autorisez pas la création de comptes par commande vocale, l'Assistant ouvre l'URL du site Web que vous avez fourni pour l'authentification des utilisateurs et redirige l'utilisateur vers un téléphone pour poursuivre le flux d'association de compte.
Toutefois, vous ne devez pas autoriser la création de comptes par commande vocale dans les cas suivants:
- Vous devez avoir un contrôle total sur le processus de création de compte. Par exemple, vous devrez peut-être montrer vos conditions d'utilisation à l'utilisateur lors de la création du compte ou d'un autre type de notification.
- Vous voulez vous assurer que les utilisateurs qui possèdent déjà un compte chez vous se connectent avec ce compte. Par exemple, vous pouvez souhaiter que les utilisateurs continuent à utiliser leur compte existant si vous proposez un programme de fidélité et qu'ils ne perdent pas les points accumulés avec leur compte.
Voulez-vous utiliser le flux de code d'autorisation ou le flux implicite ?
Le flux de code d'autorisation et le flux implicite diffèrent dans la mesure où ils nécessitent un deuxième point de terminaison, le point de terminaison d'échange de jetons. Ce point de terminaison utilise des jetons d'actualisation pour générer de nouveaux jetons d'accès de courte durée sans inviter l'utilisateur à se reconnecter.
À l'inverse, si vous utilisez le flux implicite, vous renvoyez à Google un jeton d'accès de longue durée qui n'a généralement pas besoin d'être généré de nouveau. Pour en savoir plus sur le code d'autorisation et les flux implicites, consultez le Guide de concept OAuth et Google Sign-In.
Google vous recommande d'utiliser le flux de code d'autorisation dans votre action, car il est plus sécurisé. Toutefois, utilisez plutôt le flux implicite si votre service ne peut pas stocker d'informations confidentielles (c'est-à-dire un code secret de client). Par exemple, vous devez utiliser le flux implicite pour les clients publics tels que les applications monopages (SPA).
Après avoir pris en compte ces points de décision, consultez l'arbre de décision suivant:
Google Sign-In
Avec le type d'association GSI, votre action peut demander l'accès au profil Google de votre utilisateur au cours d'une conversation et utiliser les informations de profil pour vérifier si l'utilisateur existe dans le backend de votre service. Si l'utilisateur n'existe pas, il peut créer un compte dans votre système à l'aide des informations de son profil Google.
Pour GSI, vous devez activer la création de compte par commande vocale, ce qui permet à l'utilisateur de terminer l'intégralité du flux par commande vocale. Pour en savoir plus sur les GSI, consultez le guide de concept Google Sign-In.
OAuth
Avec le type d'association OAuth, l'utilisateur se connecte avec le flux OAuth 2 standard. Le type d'association OAuth est compatible avec deux flux OAuth 2.0 standards dans l'industrie : les flux de code implicites et d'autorisation.
Google ne recommande pas le type d'association OAuth en lui-même, car il nécessite de transférer l'utilisateur d'un écran à un autre pour terminer le processus de connexion s'il se trouve sur un appareil non blindé. Vous pouvez envisager d'utiliser cette procédure si vous avez déjà mis en œuvre un serveur OAuth 2 et que vous ne pouvez pas étendre le point de terminaison d'échange de jetons afin d'ajouter la compatibilité avec les protocoles Google pour l'association automatique et la création de compte à partir d'un jeton d'ID. Pour en savoir plus, consultez le Guide sur les concepts OAuth.
Affiner le flux
Lorsque vous utilisez le type d'association de compte OAuth dans votre action, vous devez spécifier la réponse à la question suivante dans la console Actions pour en définir le fonctionnement:
Voulez-vous utiliser le flux de code d'autorisation ou le flux implicite ?
Le type d'association OAuth est compatible avec deux flux OAuth 2.0 standards dans l'industrie : les flux de code implicites et d'autorisation. Le flux de code d'autorisation et le flux implicite diffèrent dans la mesure où le flux de code d'autorisation nécessite un deuxième point de terminaison, le point de terminaison d'échange de jetons. Ce point de terminaison utilise des jetons d'actualisation pour générer de nouveaux jetons d'accès de courte durée sans inviter l'utilisateur à se reconnecter.
À l'inverse, si vous utilisez le flux implicite, vous renvoyez à Google un jeton d'accès de longue durée qui n'a généralement pas besoin d'être généré de nouveau. Pour en savoir plus sur le code d'autorisation et les flux implicites, consultez le Guide de concept OAuth.
Google vous recommande d'utiliser le flux de code d'autorisation dans votre action, car il est plus sécurisé. Toutefois, utilisez plutôt le flux implicite si votre service ne peut pas stocker d'informations confidentielles (c'est-à-dire un code secret de client). Par exemple, vous devez utiliser le flux implicite pour les clients publics tels que les applications monopages (SPA).