Collegamento dell'Account Google con App Flip basata su OAuth

基于 OAuth 的应用快速关联 (App Flip) 关联功能可让用户快速将其在您的身份验证系统中的账号关联到其 Google 账号。 如果用户在发起账户关联过程时手机上已安装您的应用,系统会顺畅地将他们转到您的应用以获取用户授权。

这种方法可提供更快的账户关联过程,因为用户无需重新输入用户名和密码进行身份验证;相反,App Flip 会利用用户在您的应用中的账号凭据。用户将其 Google 账号与您的应用关联后,便可利用您开发的任何集成。

您可以为 iOS 和 Android 应用设置 App Flip。

此图显示了用户将其 Google 账号与您的身份验证系统相关联的步骤。第一张屏幕截图显示了用户如何选择您的应用(如果其 Google 账号已与您的应用相关联)。第二张屏幕截图显示了用户将其 Google 账号与您的应用相关联的确认信息。第三张屏幕截图显示了 Google 应用中已成功关联的用户账号。
图 1.用户手机上使用 App Flip 进行账号关联。

要求

如需实现 App Flip,您必须满足以下要求:

  • 您必须拥有 Android 或 iOS 应用。
  • 您必须拥有、管理和维护支持 OAuth 2.0 授权代码流程的 OAuth 2.0 服务器。

基于 OAuth 的 App Flip 流程

以下序列图详细说明了用户、Google 应用、您的应用和您的授权服务器之间针对 App Flip 的交互。

用户 Google 应用 您的应用 Google 服务器 您的授权 服务器 1. 发起关联 2. 深层链接到您的应用 3. 显示意见征求屏幕 4. 用户授予意见征求 5. 获取授权代码 6. authorization_code 7. 返回到 Google 应用 8. 将代码传递给 Google 服务器 9. 令牌交换 (POST) 10. access_token, refresh_token 11. 存储用户令牌 12. 访问用户资源
图 2.App Flip 流程中的事件序列。 如果提供了授权代码,则令牌交换将以 服务器到服务器的方式进行,与基于浏览器的 OAuth 关联流程中的方式相同。

角色和职责

下表定义了 App Flip 流程中执行者的角色和职责。

执行者 / 组件 GAL 角色 职责
Google 应用 / 服务器 OAuth 客户端 发起账户关联过程,触发到您的移动应用深层链接,将授权代码交换为令牌,并安全地存储这些令牌以访问您服务的 API。
您的应用 授权代理 对用户进行身份验证(通常使用现有应用凭据), 获取意见征求,并从您的服务器检索授权代码。
您的授权服务器 授权服务器 验证授权代码和刷新令牌,并向 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 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.