Collegamento dell'Account Google con App Flip basata su OAuth

Il collegamento basato su OAuth (App Flip) consente agli utenti di collegare rapidamente i propri account nel tuo sistema di autenticazione ai loro Account Google. Se l'app è installata sullo smartphone dell'utente quando avvia la procedura di collegamento dell'account, viene reindirizzato senza problemi all'app per ottenere l'autorizzazione utente.

Questo approccio offre una procedura di collegamento più rapida, in quanto l'utente non deve reinserire il nome utente e la password per l'autenticazione. Al contrario, App Flip utilizza le credenziali dell'account dell'utente nella tua app. Una volta collegato il proprio Account Google alla tua app, l'utente può usufruire di tutte le integrazioni che hai sviluppato.

Puoi configurare App Flip sia per le app per iOS che per Android.

Questa figura mostra i passaggi che un utente deve seguire per collegare il proprio Account Google
            al tuo sistema di autenticazione. Il primo screenshot mostra come un utente
            può selezionare la tua app se il suo Account Google è collegato alla tua app.
            Il secondo screenshot mostra la conferma del collegamento del suo
            Account Google alla tua app. Il terzo screenshot mostra un
            account utente collegato correttamente nell'app Google.
Figura 1. Collegamento dell'account sullo smartphone di un utente con App Flip.

Requisiti

Per implementare App Flip, devi soddisfare i seguenti requisiti:

  • Devi avere un'app per Android o iOS.
  • Devi possedere, gestire e mantenere un server OAuth 2.0 che supporti il flusso del codice di autorizzazione OAuth 2.0.

Flusso di cambio app basato su OAuth

Il seguente diagramma di sequenza descrive in dettaglio l'interazione tra l'utente, l'app Google, la tua app e il tuo server di autorizzazione per App Flip.

Utente App Google La tua app Server Google Il tuo server di autenticazione Server 1. Avvia il collegamento 2. Link diretto alla tua app 3. Mostra schermata per il consenso 4. L'utente concede il consenso 5. Ottieni codice di autorizzazione 6. authorization_code 7. Torna all'app Google 8. Pass code to Google Server 9. Scambio di token (POST) 10. access_token, refresh_token 11. Memorizza i token utente 12. Accedere alle risorse utente
Figura 2. La sequenza di eventi nel flusso App Flip. Se viene fornito un codice di autorizzazione, lo scambio di token avviene da server a server, come nel flusso di collegamento OAuth basato sul browser.

Ruoli e responsabilità

La tabella seguente definisce i ruoli e le responsabilità degli attori nel flusso di cambio app.

Attore / componente Ruolo GAL Responsabilità
App / server Google Client OAuth Avvia la procedura di collegamento, attiva un deep link alla tua app mobile, scambia il codice di autorizzazione con i token e li archivia in modo sicuro per accedere alle API del tuo servizio.
La tua app Agente autorizzato Autentica l'utente (in genere utilizzando le credenziali dell'app esistenti), ottiene il consenso e recupera un codice di autorizzazione dal tuo server.
Il server di autorizzazione Server di autorizzazione Convalida i codici di autorizzazione e i token di aggiornamento ed emette token di accesso al server Google.

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 il passaggio di app nelle app native

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

Per supportare la funzionalità App Flip nella tua app per Android, segui le istruzioni riportate nella guida all'implementazione per Android.

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

Testa il passaggio da un'app all'altra

Il trasferimento dell'app 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 apre innanzitutto la tua app che richiede poi una risposta del codice di autorizzazione al tuo server OAuth 2.0. Nel passaggio finale la risposta viene restituita all'app Google.

Prerequisiti

Per simulare un'app Google e attivare l'intent che avvia l'app, scarica e installa l'App Flip Test Tool 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 rotazione dell'app.
  2. Premi Try Flip! per avviare l'app App Flip Sample.
  3. Seleziona una risposta dai pulsanti di opzione nell'app Sample.
  4. Premi Send per restituire allo strumento di test una risposta OAuth 2.0 simulata.
  5. Controlla i messaggi di log dello strumento di test per verificare la presenza di auth_code o dettagli errore.

Test di produzione

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

Per i test automatici, ti consigliamo di utilizzare un solo Account Google e un indirizzo email specifico per l'attività.

Lo stato del collegamento degli account può essere visualizzato utilizzando Account collegati dopo aver eseguito l'accesso come proprietario dell'Account Google. Anche da qui è possibile scollegare gli account tra test ripetuti.

Se vuoi, puoi scegliere di implementare RISC per scollegare ed eseguire la notifica della modifica a Google in modo programmatico.