Collegamento dell'Account Google con App Flip basata su OAuth

OAuth-based App Flip Linking (App Flip) allows your users to quickly link their accounts in your authentication system to their Google Accounts. If your app is installed on your user's phone when they initiate the account linking process, they are seamlessly flipped to your app to obtain user authorization.

This approach provides a faster linking process since the user does not have to re-enter their username and password to authenticate; instead, App Flip leverages the credentials from the user's account on your app. Once a user has linked their Google Account with your app, they can take advantage of any integrations that you have developed.

You can set up App Flip for both iOS and Android apps.

This figure shows the steps for a user to link their Google account
            to your authentication system. The first screenshot shows how a user
            can select your app if their Google account is linked to your app.
            The second screenshot shows the confirmation for linking their
            Google account with your app. The third screenshot shows a
            successfully linked user account in the Google app.
Figure 1. Account linking on a user's phone with App Flip.

Requirements

To implement App Flip, you must fulfill the following requirements:

  • You must have an Android or iOS app.
  • You must own, manage and maintain an OAuth 2.0 server which supports the OAuth 2.0 authorization code flow.

OAuth-based App Flip Flow

The following sequence diagram details the interaction between the User, Google App, Your App, and Your Authorization Server for App Flip.

User Google App Your App Google Server Your Auth Server 1. Initiates linking 2. Deep link to Your App 3. Show Consent Screen 4. User Grants Consent 5. Get Auth Code 6. authorization_code 7. Return to Google App 8. Pass code to Google Server 9. Token Exchange (POST) 10. access_token, refresh_token 11. Store user tokens 12. Access user resources
Figure 2. The sequence of events in the App Flip flow. If an authorization code is provided, the token exchange happens server-to-server, the same way it does in the browser-based OAuth linking flow.

Roles and responsibilities

The following table defines the roles and responsibilities of the actors in the App Flip flow.

Actor / Component GAL Role Responsibilities
Google App / Server OAuth Client Initiates the linking process, triggers a deep link to your mobile app, exchanges the authorization code for tokens, and securely stores them to access your service's APIs.
Your App Authorization Agent Authenticates the user (typically using existing app credentials), obtains consent, and retrieves an authorization code from your server.
Your Authorization Server Authorization Server Validates authorization codes and refresh tokens, and issues access tokens to the Google Server.

Istruzioni sul design

Questa sezione descrive i requisiti e i consigli di progettazione per la schermata di consenso per il collegamento dell'account App Flip. Dopo che Google chiama la tua app, quest'ultima mostra la schermata di consenso all'utente.

Requisiti

  1. Devi comunicare che l'account dell'utente viene collegato a Google, non a un prodotto Google specifico, come Google Home o l'Assistente Google.

Consigli

Ti consigliamo di procedere come segue:

  1. Visualizza le Norme sulla privacy di Google. Includi un link alle Norme sulla privacy di Google nella schermata per il consenso.

  2. Dati da condividere. Utilizza un linguaggio chiaro e conciso per comunicare all'utente quali dati di sua proprietà sono richiesti da Google e perché.

  3. Invito all'azione chiaro. Indica un invito all'azione chiaro nella schermata del consenso, ad esempio "Accetta e collega". Questo perché gli utenti devono capire quali dati sono tenuti a condividere con Google per collegare i propri account.

  4. Possibilità di rifiutare o annullare. Offri agli utenti un modo per tornare indietro, rifiutare o annullare, se scelgono di non collegare.

  5. Possibilità di scollegare. Offri agli utenti un meccanismo per scollegare l'account, ad esempio un URL alle impostazioni dell'account sulla tua piattaforma. In alternativa, puoi includere un link all'Account Google in cui gli utenti possono gestire il proprio account collegato.

  6. Possibilità di cambiare account utente. Suggerisci un metodo per consentire agli utenti di cambiare i propri account. Ciò è particolarmente utile se gli utenti tendono ad avere più account.

    • Se un utente deve chiudere la schermata del consenso per cambiare account, invia un errore recuperabile a Google in modo che l'utente possa accedere all'account desiderato con il collegamento OAuth e il flusso implicito.
  7. Includi il tuo logo. Mostrare il logo della tua azienda nella schermata del consenso. Utilizza le linee guida di stile per posizionare il logo. Se vuoi mostrare anche il logo di Google, consulta Loghi e marchi.

Questa figura mostra una schermata di consenso di esempio con callout che rimandano ai
            singoli requisiti e consigli da seguire quando progetti una schermata di consenso dell'utente.
Figura 2. Linee guida per la progettazione della schermata di consenso per il collegamento degli account.

Implementare App Flip nelle tue app

Per implementare App Flip, devi modificare il codice di autorizzazione utente nella tua app in modo che accetti un link diretto da Google.

Per supportare app flip nella tua app per Android, segui le istruzioni riportate nella guida all'implementazione per Android.

Per supportare App Flip nella tua app iOS, segui le istruzioni riportate nella guida all'implementazione per iOS.

Testare App Flip

App Flip può essere simulato utilizzando app di esempio e di test prima che siano disponibili app di produzione verificate e un server OAuth 2.0 funzionante.

Durante App Flip, un'app Google aprirà prima la tua app, che poi richiederà una risposta del codice di autorizzazione dal tuo server OAuth 2.0. Nell'ultimo passaggio, la risposta viene restituita all'app Google.

Prerequisiti

Per simulare un'app Google e attivare l'intent che avvia la tua app, scarica e installa lo strumento di test di App Flip per Android e iOS.

Scarica e installa l'esempio di App Flip per Android e iOS per simulare la tua app e selezionare un tipo di risposta OAuth 2.0.

Sequenza di test

  1. Apri lo strumento di test di App Flip.
  2. Premi Try Flip! per avviare l'app di esempio di App Flip.
  3. Seleziona una risposta dai pulsanti di opzione nell'app di esempio.
  4. Premi Send per restituire una risposta OAuth 2.0 simulata allo strumento di test.
  5. Controlla i messaggi di log dello strumento di test per i dettagli di auth_code o di errore.

Test in produzione

App Flip può essere testato in produzione dopo aver completato la registrazione e l'implementazione del server OAuth 2.0.

Per i test automatici è consigliabile utilizzare un singolo Account Google e un indirizzo email specifico per l'attività

Lo stato del collegamento degli account può essere visualizzato utilizzando Account collegati quando hai eseguito l'accesso come titolare dell'Account Google. Da qui puoi anche scollegare gli account tra test ripetuti.

Facoltativamente, puoi scegliere di implementare RISC per scollegare gli account a livello di programmazione e informare Google della modifica.