Visão geral

基于 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 服务器颁发访问 令牌。

Para mais informações sobre o fluxo do código de autorização de vinculação do OAuth, consulte Implementar seu servidor OAuth.

Diretrizes de design

Esta seção descreve os requisitos e as recomendações de design para a tela de consentimento da vinculação de contas do App Flip. Depois que o Google chamar seu app, ele vai mostrar a tela de consentimento ao usuário.

Requisitos

  1. Você precisa informar que a conta do usuário está sendo vinculada ao Google, não a um produto específico, como o Google Home ou o Google Assistente.

Recomendações

Portanto, recomendamos que você faça o seguinte:

  1. Mostrar a Política de Privacidade do Google. Inclua um link para a Política de Privacidade do Google na tela de consentimento.

  2. Dados que serão compartilhados. Use uma linguagem clara e concisa para informar ao usuário quais dados dele o Google exige e por quê.

  3. Call-to-action clara. Inclua uma call-to-action clara na tela de permissão, como "Concordar e vincular". Isso porque os usuários precisam entender quais dados são obrigatórios para compartilhar com o Google e vincular as contas.

  4. Capacidade de negar ou cancelar. Ofereça uma maneira para os usuários voltarem, negarem ou cancelarem, caso não queiram vincular.

  5. Capacidade de desvincular. Ofereça um mecanismo para os usuários desvincularem, como um URL para as configurações da conta na sua plataforma. Como alternativa, inclua um link para a Conta do Google, onde os usuários podem gerenciar a conta vinculada.

  6. Capacidade de mudar a conta de usuário. Sugira um método para os usuários trocarem de conta. Isso é especialmente útil se os usuários costumam ter várias contas.

    • Se um usuário precisar fechar a tela de permissão para trocar de conta, envie um erro recuperável ao Google para que ele possa fazer login na conta desejada com a vinculação do OAuth e o fluxo implícito.
  7. Inclua seu logotipo. Mostre o logotipo da sua empresa na tela de consentimento. Use as diretrizes de estilo para posicionar seu logotipo. Se você também quiser mostrar o logotipo do Google, consulte Logotipos e marcas registradas.

Esta figura mostra um exemplo de tela de consentimento com destaques para os requisitos e recomendações individuais a serem seguidos ao projetar uma tela de consentimento do usuário.
Figura 2. Diretrizes de design da tela de consentimento para vinculação de contas.

Configurar a troca de apps baseada em OAuth

As seções a seguir descrevem os pré-requisitos para a troca de apps baseada em OAuth e como configurar seu projeto de troca de apps no console do Actions.

Crie uma ação e configure um servidor OAuth 2.0

Antes de configurar a troca de apps, faça o seguinte:

Configurar a troca de apps no console do Actions

Na seção a seguir, descrevemos como configurar a troca de apps no console Actions.

  1. Clique em Desenvolver na navegação superior. Em seguida, clique em Vinculação de contas na navegação à esquerda.
  2. Ative a chave ao lado de Vinculação de contas.
  3. Em Criação de conta, selecione Não, só quero permitir a criação de contas no meu site.
  4. Clique em Próxima.
  5. Em Tipo de vinculação, selecione OAuth e Código de autorização nos menus suspensos.
  6. Clique em Próxima.
  7. Preencha todos os campos em Informações do cliente OAuth. Se a troca de apps não for compatível, o OAuth normal será usado como substituto.
  8. Clique em Próxima.
  9. Em Usar seu app para vinculação de contas (opcional), marque Ativar para iOS.
  10. Preencha o campo Link universal. Para mais informações sobre links universais, consulte Permitir que apps e sites criem links para seu conteúdo .
  11. Se quiser configurar o cliente, adicione escopos e clique em Adicionar escopo em Configurar o cliente (opcional). Caso contrário, clique em Próxima.
  12. Em "Instruções de teste", digite test (ou qualquer outra string) como um marcador de posição. (Preencher esse campo com uma conta de teste só é necessário se você estiver enviando sua ação para publicação.)
  13. Clique em Salvar.

Agora você pode continuar para a próxima seção e implementar a troca de apps no seu app iOS ou Android.

Implementar a troca de apps nos seus apps nativos

Para implementar a troca de apps, é necessário modificar o código de autorização do usuário no app para aceitar um link direto do Google.

Testar a troca de apps no seu dispositivo

Agora que você criou uma ação e configurou a troca de apps no console e no app, é possível testar a troca de apps no dispositivo móvel. Você pode usar o app Google Assistente para testar a troca de apps.

Para testar a troca de apps no Google Assistente, siga estas etapas:

  1. Acesse o Actions Console e selecione seu projeto.
  2. Clique em Testar na navegação superior.
  3. Acione o fluxo de vinculação da conta no app Assistente:
    1. Abra o app Google Assistente.
    2. Clique em Configurações.
    3. Na guia "Assistente", clique em Automação residencial.
    4. Clique em Adicionar(+).
    5. Selecione sua ação na lista de provedores. Ele vai aparecer com o prefixo "[test]" na lista. Quando você selecionar a ação [teste] na lista, o app vai abrir.
    6. Verifique se o app foi iniciado e comece a testar o fluxo de autorização.