Aperçu

Choisir votre chemin de migration

Sélectionnez le parcours qui correspond le mieux à vos besoins :

Chemin Application idéale En savoir plus
Universal Commerce Protocol (UCP) Marchands et marchands. Documentation UCP
Association de compte standard Maison connectée, TV et YouTube. Docs

L'association de compte permet aux titulaires de comptes Google de se connecter rapidement, facilement et en toute sécurité à vos services. Vous pouvez choisir d'implémenter l'association de compte Google pour partager les données d'un utilisateur depuis votre plate-forme avec les applications et services Google.

Le protocole OAuth 2.0 sécurisé vous permet d'associer de manière sécurisée le compte Google d'un utilisateur à son compte sur votre plate-forme, ce qui permet aux applications et appareils Google d'accéder à vos services.

Les utilisateurs peuvent associer ou dissocier leurs comptes, et éventuellement en créer un autre sur votre plate-forme via l'association de comptes Google.

Cas d'utilisation

Voici quelques raisons d'implémenter l'association de compte Google :

  • Partagez les données d'un utilisateur depuis votre plate-forme avec les applications et services Google.

  • Intégrez Google Shopping et les surfaces d'IA (Recherche, Gemini) à l'aide de l'Universal Commerce Protocol (UCP).

  • Regardez vos contenus vidéo et vos films avec Google TV.

  • Gérez et contrôlez les appareils connectés Google Smart Home à l'aide de l'application Google Home et de l'Assistant Google. Dites par exemple "Hey Google, allume les lumières".

  • Créez des expériences et des fonctionnalités personnalisées de l'Assistant Google avec les actions conversationnelles, par exemple "Hey Google, commande mon café habituel chez Starbucks".

  • Permettre aux utilisateurs de gagner des récompenses en regardant des diffusions en direct éligibles sur YouTube après avoir associé leur compte Google à un compte partenaire de récompenses.

  • Préremplissez les nouveaux comptes lors de l'inscription avec des données partagées de manière consentie à partir d'un profil de compte Google.

Fonctionnalités et exigences

Le tableau suivant définit la compatibilité et les recommandations pour chaque flux d'association.

Associer Flow Fonctionnalités standards Fonctionnalités UCP
App Flip Recommandé Recommandé
Association simplifiée Recommandé Recommandé
Association OAuth Obligatoire (création de remplacement) Obligatoire (création de remplacement)
OAuth 2.1 Recommandé Recommandé
  • Améliorez la confidentialité des utilisateurs en définissant des niveaux d'accès personnalisés pour ne partager que les données nécessaires. Renforcez la confiance des utilisateurs en définissant clairement comment leurs données sont utilisées.

  • L'accès aux données et aux services hébergés sur votre plate-forme peut être révoqué en dissociant les comptes. L'implémentation d'un point de terminaison de révocation de jeton facultatif vous permet de rester synchronisé avec les événements initiés par Google, tandis que la protection multi-comptes (RISC) vous permet d'informer Google de tout événement de dissociation qui se produit sur votre plate-forme.

Parcours d'association de compte

Il existe trois flux d'association de compte Google, qui sont tous basés sur OAuth et qui vous obligent à gérer ou à contrôler les points de terminaison d'autorisation et d'échange de jetons conformes à OAuth 2.0.

Lors du processus d'association, vous émettez des jetons d'accès à Google pour des comptes Google individuels après avoir obtenu le consentement des titulaires de compte pour associer leurs comptes et partager des données.

Association OAuth

Il s'agit du flux d'association OAuth qui redirige les utilisateurs vers votre site Web pour l'association. L'utilisateur est redirigé vers votre site Web pour se connecter à son compte. Une fois connecté, l'utilisateur accepte de partager ses données sur votre service avec Google. Le compte Google de l'utilisateur est alors associé à votre service.

L'association OAuth est compatible avec les flux OAuth avec code d'autorisation et implicites. Votre service doit héberger un point de terminaison d'autorisation conforme à OAuth 2.0 pour le flux implicite, et doit exposer un point de terminaison d'autorisation et d'échange de jetons lors de l'utilisation du flux avec code d'autorisation.

Figure 1 : Association de compte sur le téléphone d'un utilisateur avec l'association OAuth

Association de compte basée sur OAuth (App Flip)

Flux OAuth qui redirige les utilisateurs vers votre application pour l'association.

L'association d'applications basée sur OAuth guide les utilisateurs lorsqu'ils passent de vos applications mobiles Android ou iOS validées à la plate-forme Google pour examiner les modifications proposées concernant l'accès aux données et donner leur consentement pour associer leur compte sur votre plate-forme à leur compte Google. Pour activer App Flip, votre service doit être compatible avec l'association OAuth ou l'association Se connecter avec Google basée sur OAuth à l'aide du flux de code d'autorisation.

L'App Flip est compatible avec Android et iOS.

Fonctionnement :

L'appli Google vérifie si votre application est installée sur l'appareil de l'utilisateur :

  • Si l'application est trouvée, l'utilisateur est redirigé vers votre application. Votre application recueille le consentement de l'utilisateur pour associer le compte à Google, puis le redirige vers l'interface Google.
  • Si l'application n'est pas trouvée ou qu'une erreur se produit lors du processus d'association par bascule d'application, l'utilisateur est redirigé vers le flux d'association simplifiée ou OAuth.

Figure 2 : Association de compte sur le téléphone d'un utilisateur avec App Flip

Association simplifiée basée sur OAuth ("simplifiée")

La simplification de l'association basée sur OAuth avec Se connecter avec Google ajoute Se connecter avec Google à l'association OAuth, ce qui permet aux utilisateurs de terminer le processus d'association sans quitter l'interface Google, réduisant ainsi les frictions et les abandons. L'association simplifiée basée sur OAuth offre la meilleure expérience utilisateur avec une connexion, une création de compte et une association de compte fluides en combinant Se connecter avec Google et l'association OAuth. Votre service doit être compatible avec les points de terminaison d'autorisation et d'échange de jetons conformes à OAuth 2.0. De plus, votre point de terminaison d'échange de jetons doit être compatible avec les assertions JSON Web Token (JWT) et implémenter les intents check, create et get.

Fonctionnement :

Google affirme que le compte utilisateur et transmet ces informations à vous :

  • Si un compte existe pour l'utilisateur dans votre base de données, il associe correctement son compte Google à son compte sur votre service.
  • Si aucun compte n'existe pour l'utilisateur dans votre base de données, il peut créer un compte tiers avec les informations fournies par Google (adresse e-mail, nom et photo de profil) ou choisir de se connecter et d'associer un autre e-mail (il devra alors se connecter à votre service à l'aide de l'association OAuth).

Figure 3. Association de compte sur le téléphone d'un utilisateur avec l'association simplifiée

Quel flux devez-vous utiliser ?

Nous vous recommandons d'implémenter tous les flux pour que les utilisateurs bénéficient de la meilleure expérience d'association possible. Les flux simplifiés et de transfert d'application réduisent les frictions liées à l'association, car les utilisateurs peuvent effectuer le processus d'association en très peu d'étapes. Le flux d'association OAuth est le plus simple à mettre en œuvre. Nous vous conseillons de commencer par celui-ci, puis d'ajouter les autres flux d'association.

Utiliser des jetons

L'association de compte Google est basée sur la norme industrielle OAuth 2.0.

Vous émettez des jetons d'accès à Google pour des comptes Google individuels après avoir obtenu le consentement des titulaires de compte pour associer leurs comptes et partager des données.

Types de jetons

OAuth 2.0 utilise des chaînes appelées jetons pour communiquer entre l'agent utilisateur, l'application cliente et le serveur OAuth 2.0.

Trois types de jetons OAuth 2.0 peuvent être utilisés lors de l'association de comptes :

  • Code d'autorisation : jeton à courte durée de vie qui peut être échangé contre un jeton d'accès et un jeton d'actualisation. Pour des raisons de sécurité, Google appelle votre point de terminaison d'autorisation afin d'obtenir un code à usage unique ou à très courte durée de vie.

  • Jeton d'accès : jeton qui accorde au porteur l'accès à une ressource. Pour limiter l'exposition qui pourrait résulter de la perte de ce jeton, sa durée de vie est limitée, généralement une heure environ.

  • Jeton d'actualisation : jeton à longue durée de vie qui peut être échangé contre un nouveau jeton d'accès lorsqu'un jeton d'accès expire. Lorsque votre service est intégré à Google, ce jeton est exclusivement stocké et utilisé par Google. Google appelle votre point de terminaison d'échange de jetons pour échanger des jetons d'actualisation contre des jetons d'accès, qui sont ensuite utilisés pour accéder aux données utilisateur.

Gestion des jetons

Les conditions de concurrence dans les environnements en cluster et les échanges client-serveur peuvent entraîner des scénarios complexes de gestion des délais et des erreurs lorsque vous utilisez des jetons. Exemple :

  • Vous recevez une demande de nouveau jeton d'accès et vous en émettez un. En même temps, vous recevez une demande d'accès à la ressource de votre service à l'aide du jeton d'accès précédent, qui n'a pas expiré.
  • Google n'a pas encore reçu votre réponse de jeton d'actualisation (ou ne la recevra jamais). Pendant ce temps, le jeton d'actualisation précédemment valide est utilisé dans une requête de Google.

Les requêtes et les réponses peuvent arriver dans n'importe quel ordre, ou pas du tout, en raison de services asynchrones s'exécutant dans un cluster, du comportement du réseau ou d'autres moyens.

Un état partagé immédiat et entièrement cohérent ne peut pas être garanti dans vos systèmes de gestion des jetons et ceux de Google, ni entre eux. Plusieurs jetons valides et non expirés peuvent coexister dans les systèmes ou entre eux pendant une courte période. Pour minimiser l'impact négatif sur les utilisateurs, nous vous recommandons de procéder comme suit :

  • Acceptez les jetons d'accès non expirés, même après l'émission d'un jeton plus récent.
  • Utilisez des alternatives à la rotation des jetons d'actualisation.
  • Prenez en charge plusieurs jetons d'accès et d'actualisation valides simultanément. Pour des raisons de sécurité, vous devez limiter le nombre de jetons et leur durée de vie.
Gestion de la maintenance et des pannes

Pendant la maintenance ou les pannes imprévues, Google peut ne pas être en mesure d'appeler vos points de terminaison d'autorisation ou d'échange de jetons pour obtenir des jetons d'accès et d'actualisation.

Vos points de terminaison doivent répondre avec un code d'erreur 503 et un corps vide. Dans ce cas, Google réessaie les requêtes d'échange de jetons ayant échoué pendant une durée limitée. À condition que Google puisse obtenir ultérieurement des jetons d'actualisation et d'accès, les requêtes ayant échoué ne sont pas visibles par les utilisateurs.

Les requêtes de jeton d'accès ayant échoué entraînent une erreur visible si elles sont initiées par un utilisateur. Les utilisateurs devront réessayer d'associer leurs comptes si le flux OAuth 2.0 implicite est utilisé.

Recommandations

Il existe de nombreuses solutions pour minimiser l'impact de la maintenance. Voici quelques options à envisager :

  • Conservez votre service existant et acheminez un nombre limité de requêtes vers votre service récemment mis à jour. Ne migrez toutes les requêtes qu'après avoir confirmé le bon fonctionnement.

  • Réduisez le nombre de requêtes de jetons pendant la période de maintenance :

    • Limitez les périodes de maintenance à une durée inférieure à la durée de vie du jeton d'accès.

    • Augmentez temporairement la durée de vie du jeton d'accès :

      1. Augmentez la durée de vie du jeton au-delà de la période de maintenance.
      2. Attendez deux fois la durée de vie de votre jeton d'accès, ce qui permet aux utilisateurs d'échanger des jetons à courte durée de vie contre des jetons à plus longue durée.
      3. Démarrez la maintenance.
      4. Répondez aux requêtes de jetons avec un code d'erreur 503 et un corps vide.
      5. Terminez la maintenance.
      6. Réduisez la durée de vie du jeton à sa valeur normale.

Association persistante

L'association persistante est une exigence fondamentale pour des intégrations stables. Il garantit que les comptes utilisateur restent associés même en cas de défaillance réseau temporaire ou d'actualisation périodique des identifiants.

Pour implémenter l'association persistante, utilisez une approche de "fenêtre glissante" : prolongez l'expiration du jeton d'actualisation existant au lieu de le faire pivoter (voir la section 6 du RFC 6749). Cela évite les conditions de concurrence et la dissociation involontaire qui peuvent se produire si un nouveau jeton d'actualisation est émis, mais n'est pas reçu ni stocké correctement par Google.

S'inscrire avec Google

Nous aurons besoin d'informations sur votre configuration OAuth 2.0 et de partager des identifiants pour activer l'association de compte. Pour en savoir plus, consultez la section Inscription.