Association de comptes Google avec le transfert d'application OAuth

L'association de compte basée sur OAuth (App Flip) permet à vos utilisateurs d'associer rapidement leurs comptes dans votre système d'authentification à leurs comptes Google. Si votre application est installée sur le téléphone de l'utilisateur lorsqu'il lance le processus d'association de compte, il est redirigé de manière fluide vers votre application pour obtenir l'autorisation de l'utilisateur.

Cette approche permet d'associer les comptes plus rapidement, car l'utilisateur n'a pas besoin de saisir à nouveau son nom d'utilisateur et son mot de passe pour s'authentifier. Au lieu de cela, App Flip utilise les identifiants du compte de l'utilisateur dans votre application. Une fois qu'un utilisateur a associé son compte Google à votre application, il peut profiter de toutes les intégrations que vous avez développées.

Vous pouvez configurer App Flip pour les applications iOS et Android.

Cette figure montre les étapes à suivre pour qu'un utilisateur associe son compte Google à votre système d'authentification. La première capture d'écran montre comment un utilisateur peut sélectionner votre application si son compte Google y est associé. La deuxième capture d'écran montre la confirmation de l'association de son compte Google à votre application. La troisième capture d'écran montre un compte utilisateur associé dans l'appli Google.
Figure 1. Association de compte sur le téléphone d'un utilisateur avec App Flip.

Conditions requises

Pour implémenter App Flip, vous devez remplir les conditions suivantes :

  • Vous devez disposer d'une application Android ou iOS.
  • Vous devez posséder, gérer et entretenir un serveur OAuth 2.0 compatible avec le flux avec code d'autorisation OAuth 2.0.

Flux d'échange d'application basé sur OAuth

Le schéma de séquence suivant détaille l'interaction entre l'utilisateur, l'appli Google, votre appli et votre serveur d'autorisation pour l'échange d'applis.

Utilisateur Application Google Votre application Serveur Google Votre serveur d'authentification 1. Lance l'association. 2. Lien profond vers votre application 3. Afficher l'écran de consentement 4. L'utilisateur accorde son consentement 5. Obtenir le code d'autorisation 6. authorization_code 7. Revenir à l'appli Google 8. Transmettre le code au serveur Google 9. Échange de jetons (POST) 10. access_token, refresh_token 11. Stocker les jetons utilisateur 12. Accéder aux ressources utilisateur
Figure 2 : Séquence d'événements dans le flux App Flip. Si un code d'autorisation est fourni, l'échange de jetons se produit de serveur à serveur, de la même manière que dans le flux d'association OAuth basé sur le navigateur.

Rôles et responsabilités

Le tableau suivant définit les rôles et les responsabilités des acteurs du flux App Flip.

Acteur / Composant Rôle dans la LAG Responsabilités
Application / Serveur Google Client OAuth Lance le processus d'association, déclenche un lien profond vers votre application mobile, échange le code d'autorisation contre des jetons et les stocke de manière sécurisée pour accéder aux API de votre service.
Votre application Agent d'autorisation Authentifie l'utilisateur (généralement à l'aide des identifiants existants de l'application), obtient son consentement et récupère un code d'autorisation auprès de votre serveur.
Votre serveur d'autorisation Serveur d'autorisation Valide les codes d'autorisation et les jetons d'actualisation, et émet des jetons d'accès au serveur Google.

Principes de conception

Cette section décrit les exigences et les recommandations de conception pour l'écran de consentement à l'association de compte App Flip. Une fois que Google a appelé votre application, celle-ci affiche l'écran de consentement à l'utilisateur.

Conditions requises

  1. Vous devez indiquer que le compte de l'utilisateur est associé à Google, et non à un produit Google spécifique, tel que Google Home ou l'Assistant Google.

Recommandations

Nous vous recommandons d'effectuer les opérations suivantes :

  1. Affichez les règles de confidentialité de Google. Incluez un lien vers les Règles de confidentialité de Google sur l'écran de consentement.

  2. Données à partager : Utilisez un langage clair et concis pour indiquer à l'utilisateur les données dont Google a besoin et pourquoi.

  3. Incitation à l'action claire : Indiquez clairement l'incitation à l'action sur votre écran de consentement, par exemple "Accepter et associer". En effet, les utilisateurs doivent comprendre quelles données ils doivent partager avec Google pour associer leurs comptes.

  4. Possibilité de refuser ou d'annuler Fournissez aux utilisateurs un moyen de revenir en arrière, de refuser ou d'annuler s'ils choisissent de ne pas associer leur compte.

  5. Possibilité de dissocier le compte. Offrez aux utilisateurs un mécanisme pour dissocier leur compte, par exemple une URL vers les paramètres de leur compte sur votre plate-forme. Vous pouvez également inclure un lien vers le compte Google où les utilisateurs peuvent gérer leur compte associé.

  6. Possibilité de modifier le compte utilisateur Suggérez aux utilisateurs une méthode pour changer de compte. Cela est particulièrement utile si les utilisateurs ont tendance à posséder plusieurs comptes.

    • Si un utilisateur doit fermer l'écran d'autorisation pour changer de compte, envoyez une erreur récupérable à Google afin qu'il puisse se connecter au compte souhaité avec l'association OAuth et le flux implicite.
  7. Incluez votre logo. Affichez le logo de votre entreprise sur l'écran de consentement. Utilisez vos consignes de style pour placer votre logo. Si vous souhaitez également afficher le logo de Google, consultez Logos et marques déposées.

Cette figure montre un exemple d'écran de consentement avec des encadrés indiquant les exigences et recommandations individuelles à suivre lorsque vous concevez un écran de consentement utilisateur.
Figure 2. Consignes de conception de l'écran d'autorisation pour l'association de comptes.

Implémenter le basculement d'application dans vos applications natives

Pour implémenter le basculement d'application, vous devez modifier le code d'autorisation de l'utilisateur dans votre application pour accepter un lien profond de Google.

Pour prendre en charge le basculement d'application dans votre application Android, suivez les instructions du guide d'implémentation Android.

Pour prendre en charge le basculement d'application dans votre application iOS, suivez les instructions du guide d'implémentation iOS.

Tester l'app flip

Le basculement d'application peut être simulé à l'aide d'applications exemple et de test avant que les applications de production validées et un serveur OAuth 2.0 opérationnel ne soient disponibles.

Lors du transfert d'application, une application Google ouvre d'abord votre application, qui demande ensuite une réponse de code d'autorisation à votre serveur OAuth 2.0. À l'étape finale, la réponse est renvoyée à l'application Google.

Prérequis

Pour simuler une application Google et déclencher l'intent qui lance votre application, téléchargez et installez l'outil de test de l'application Flip pour Android et iOS.

Téléchargez et installez l'exemple App Flip pour Android et iOS afin de simuler votre application et de sélectionner un type de réponse OAuth 2.0.

Séquence de test

  1. Ouvrez l'outil de test de l'inversion d'application.
  2. Appuyez sur Try Flip! pour lancer l'application exemple App Flip.
  3. Sélectionnez une réponse dans les boutons d'option de l'application exemple.
  4. Appuyez sur Send pour renvoyer une réponse OAuth 2.0 simulée à l'outil de test.
  5. Recherchez un auth_code ou des détails d'erreur dans les messages de journal de l'outil de test.

Tests en production

Vous pouvez tester App Flip en production une fois que vous avez terminé l'enregistrement et l'implémentation de votre serveur OAuth 2.0.

Nous vous recommandons d'utiliser un seul compte Google et une adresse e-mail spécifique à la tâche pour les tests automatisés.

L'état de l'association de comptes peut être consulté dans Comptes associés lorsque vous êtes connecté en tant que titulaire du compte Google. Il est également possible de dissocier les comptes entre les tests répétés.

Vous pouvez éventuellement choisir d'implémenter RISC pour dissocier de manière programmatique le changement et en informer Google.