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.

Design guidelines

This section describes the design requirements and recommendations for the App Flip account linking consent screen. After Google calls your app, your app displays the consent screen to the user.

Requirements

  1. You must communicate that the user’s account is being linked to Google, not to a specific Google product, such as Google Home or Google Assistant.

Recommendations

We recommend that you do the following:

  1. Display Google's Privacy Policy. Include a link to Google’s Privacy Policy on the consent screen.

  2. Data to be shared. Use clear and concise language to tell the user what data of theirs Google requires and why.

  3. Clear call-to-action. State a clear call-to-action on your consent screen, such as “Agree and link.” This is because users need to understand what data they're required to share with Google to link their accounts.

  4. Ability to deny or cancel. Provide a way for users to go back, deny, or cancel, if they choose not to link.

  5. Ability to unlink. Offer a mechanism for users to unlink, such as a URL to their account settings on your platform. Alternatively, you can include a link to Google Account where users can manage their linked account.

  6. Ability to change user account. Suggest a method for users to switch their account(s). This is especially beneficial if users tend to have multiple accounts.

    • If a user must close the consent screen to switch accounts, send a recoverable error to Google so the user can sign in to the desired account with OAuth linking and the implicit flow.
  7. Include your logo. Display your company logo on the consent screen. Use your style guidelines to place your logo. If you wish to also display Google's logo, see Logos and trademarks.

This figure shows an example consent screen with call-outs to the
            individual requirements and recommendations to be followed when
            you design a user consent screen.
Figure 2. Account linking consent screen design guidelines.

Implémenter App Flip dans vos applications

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

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

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

Tester l'app flip

Vous pouvez simuler l'échange d'applications à l'aide d'applications exemples et de test avant de disposer d'applications de production validées et d'un serveur OAuth 2.0 fonctionnel.

Lors du changement 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. Lors de la dernière étape, 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 App 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 App Flip.
  2. Appuyez sur Try Flip! pour lancer l'application exemple App Flip.
  3. Sélectionnez une réponse parmi les boutons radio de l'application exemple.
  4. Appuyez sur Send pour renvoyer une réponse OAuth 2.0 simulée à l'outil de test.
  5. Consultez les messages du journal de l'outil de test pour obtenir un auth_code ou des informations sur les erreurs.

Tests en production

Vous pouvez tester App Flip en production après avoir terminé l'enregistrement et l'implémentation de votre serveur OAuth 2.0.

Il est recommandé 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 la section Comptes associés lorsque vous êtes connecté en tant que titulaire du compte Google. Vous pouvez également dissocier les comptes entre les tests répétés.

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