Visão geral

Escolher o caminho de integração

Selecione o caminho que melhor atende às suas necessidades:

Caminho Ideal para Saiba mais
Protocolo de Comércio Universal (UCP) Comerciantes e varejistas. Documentos do UCP
Vinculação de contas padrão Casa inteligente, TV e YouTube. Documentos

A vinculação de contas permite que os titulares de Contas do Google se conectem aos seus serviços de forma rápida, integrada e segura. Você pode implementar a vinculação de Contas do Google para compartilhar os dados de um usuário da sua plataforma com apps e serviços do Google.

O protocolo OAuth 2.0 seguro permite vincular com segurança a Conta do Google de um usuário à conta dele na sua plataforma, concedendo acesso aos seus serviços a aplicativos e dispositivos do Google.

Os usuários podem vincular ou desvincular as contas e, opcionalmente, criar uma nova conta na sua plataforma com a vinculação de Contas do Google.

Casos de uso

Alguns dos motivos para implementar a vinculação de Contas do Google são:

  • Compartilhar os dados de um usuário da sua plataforma com apps e serviços do Google.

  • Fazer a integração com o Google Shopping e as plataformas de IA (Pesquisa, Gemini) usando o Protocolo de Comércio Universal (UCP).

  • Reproduzir conteúdo de vídeo e filmes usando o Google TV.

  • Gerenciar e controlar Google Smart Home dispositivos conectados usando o app Google Home e o Google Assistente, "Ok Google, acenda as luzes".

  • Criar experiências e funcionalidades personalizadas do Google Assistente com Ações de conversação, "Ok Google, peça meu café de sempre no Starbucks".

  • Permitir que os usuários ganhem recompensas assistindo transmissões ao vivo qualificadas no YouTube depois de vincular a Conta do Google a uma conta de parceiro de recompensas.

  • Preencher novas contas durante a inscrição com dados compartilhados de um perfil da Conta do Google.

Recursos compatíveis

Esses recursos são compatíveis com a vinculação de Contas do Google:

  • Compartilhe seus dados rapidamente usando o fluxo implícito de vinculação do OAuth.

  • Ofereça mais segurança com o fluxo do código de autorização de vinculação do OAuth.

  • Faça login de usuários atuais ou inscreva novos usuários verificados pelo Google na sua plataforma, receba o consentimento deles e compartilhe dados com segurança usando a vinculação simplificada.

  • Reduza a complexidade com o App Flip. Em um app confiável do Google, um toque abre com segurança seu app verificado para Android ou iOS, e um toque concede o consentimento do usuário e vincula as contas.

  • Melhore a privacidade do usuário definindo escopos personalizados para compartilhar apenas os dados necessários e aumente a confiança do usuário definindo claramente como os dados dele são usados.

  • O acesso a dados e serviços hospedados na sua plataforma pode ser revogado desvinculando as contas. A implementação de um endpoint de revogação de token opcional permite que você fique sincronizado com eventos iniciados pelo Google, enquanto a Proteção entre contas (RISC) permite notificar o Google sobre eventos de desvinculação que ocorrem na sua plataforma.

Fluxos de vinculação de contas

Há três fluxos de vinculação de Contas do Google, todos baseados no OAuth e que exigem que você gerencie ou controle endpoints de autorização e troca de tokens compatíveis com o OAuth 2.0.

Durante o processo de conexão, você emite tokens de acesso ao Google para Contas do Google individuais depois de receber o consentimento dos proprietários da conta para vincular as contas e compartilhar dados.

Vinculação do OAuth ("OAuth da Web")

Esse é o fluxo básico do OAuth que envia os usuários ao seu site para vinculação. O usuário é redirecionado para seu site para fazer login na conta. Depois de fazer login, o usuário concorda em compartilhar os dados dele no seu serviço com o Google. Nesse momento, a Conta do Google do usuário e seu serviço são vinculados.

A vinculação do OAuth oferece suporte aos fluxos implícitos e de código de autorização do OAuth. Seu serviço precisa hospedar um endpoint de autorização compatível com o OAuth 2.0 para o fluxo implícito e expor um endpoint de autorização e troca de tokens ao usar o fluxo do código de autorização.

Figura 1. Vinculação de conta no smartphone de um usuário com o OAuth da Web

Vinculação do App Flip baseada no OAuth ("App Flip")

Um fluxo do OAuth que envia os usuários ao seu app para vinculação.

A vinculação no app baseada no OAuth orienta os usuários à medida que eles se movem entre seus apps móveis verificados para Android ou iOS e a plataforma do Google para analisar as mudanças propostas no acesso aos dados e conceder o consentimento para vincular a conta na sua plataforma à Conta do Google. Para ativar a vinculação no app, seu serviço precisa oferecer suporte à vinculação do OAuth ou ao Fazer login baseado no OAuth com o Google usando o fluxo do código de autorização.

O App Flip é compatível com Android e iOS.

Como funciona:

O app do Google verifica se o app está instalado no dispositivo do usuário:

  • Se o app for encontrado, o usuário será "transferido" para ele. Seu app coleta o consentimento do usuário para vincular a conta ao Google e, em seguida, "retorna" à plataforma do Google.
  • Se o app não for encontrado ou ocorrer um erro durante o processo de conexão da vinculação no app, o usuário será redirecionado para o fluxo simplificado ou do OAuth da Web.

Figura 2. Vinculação de conta no smartphone de um usuário com o App Flip

Vinculação simplificada baseada no OAuth ("Simplificada")

O login baseado no OAuth com a vinculação simplificada do Google adiciona o Fazer login com o Google à vinculação do OAuth, permitindo que os usuários concluam o processo de conexão sem sair da plataforma do Google, reduzindo assim a complexidade e as desistências. A vinculação simplificada baseada no OAuth oferece a melhor experiência do usuário com login, criação de conta e vinculação de conta integrados, combinando o Fazer login com o Google e a vinculação do OAuth. Seu serviço precisa oferecer suporte a endpoints de autorização e troca de tokens compatíveis com o OAuth 2.0. Além disso, o endpoint de troca de tokens precisa oferecer suporte a declarações de JSON Web Token (JWT) e implementar as check, create, e get, intents.

Como funciona:

O Google declara a conta do usuário e transmite essas informações para você:

  • Se uma conta existir para o usuário no seu banco de dados, ele vai vincular a Conta do Google à conta no seu serviço.
  • Se não houver uma conta para o usuário no seu banco de dados, ele poderá criar uma nova conta de terceiros com as informações declaradas fornecidas pelo Google : e-mail, nome e foto do perfil ou fazer login e vincular com outro e-mail (isso exigirá que ele faça login no seu serviço usando o OAuth da Web).

Figura 3. Vinculação de conta no smartphone de um usuário com a vinculação simplificada

Qual fluxo usar?

Recomendamos implementar todos os fluxos para garantir que os usuários tenham a melhor experiência de vinculação. Os fluxos simplificados e de vinculação no app reduzem o atrito da vinculação, já que os usuários podem concluir o processo de conexão em poucas etapas. A vinculação do OAuth da Web tem o menor nível de esforço e é um bom ponto de partida. Depois disso, você pode adicionar os outros fluxos de vinculação.

Trabalhar com tokens

A vinculação de Contas do Google é baseada no padrão do setor OAuth 2.0.

Você emite tokens de acesso ao Google para Contas do Google individuais depois de receber o consentimento dos titulares da conta para vincular as contas e compartilhar dados.

令牌类型

OAuth 2.0 使用称为令牌的字符串在用户代理、客户端应用和 OAuth 2.0 服务器之间进行通信。

在账号关联期间,您可以使用三种类型的 OAuth 2.0 令牌:

  • 授权代码。一种短期有效的令牌,可用于交换访问令牌和刷新令牌。出于安全考虑,Google 会调用您的授权端点以获取一次性或非常短效的代码。

  • 访问令牌。授予持有者对资源的访问权限的令牌。为限制因丢失此令牌而导致的泄露风险,此令牌的有效期有限,通常会在大约一小时后过期。

  • 刷新令牌。一个长期有效的令牌,在访问令牌到期时可以交换为新的访问令牌。如果您的服务与 Google 集成,则此令牌由 Google 专门存储和使用。Google 会调用您的令牌交换端点,以便将刷新令牌换成访问令牌,后者会用于访问用户数据。

令牌处理

在使用令牌时,分片环境和客户端-服务器交换中的竞态条件可能会导致复杂的时间安排和错误处理场景。例如:

  • 您收到新的访问令牌请求,并发出新的访问令牌。同时,您会收到使用上一个未过期的访问令牌访问服务资源的请求。
  • Google 尚未收到(或从未收到)您的刷新令牌回复。与此同时,之前有效的刷新令牌会在 Google 发出的请求中使用。

由于集群中运行的异步服务、网络行为或其他原因,请求和响应可能会以任何顺序到达,也可能根本不会到达。

我们无法保证您和 Google 的令牌处理系统内部以及它们之间的共享状态是立即且完全一致的。在短时间内,多个有效、未过期的令牌可以在系统内部或不同系统之间共存。为了尽可能减少对用户的负面影响,我们建议您执行以下操作:

  • 接受未过期的访问令牌,即使已发出较新的令牌也是如此。
  • 使用刷新令牌轮替的替代方案。
  • 支持多个同时有效的访问令牌和刷新令牌。出于安全考虑,您应限制令牌数量和令牌生命周期。
维护和中断处理

在维护或意外停机期间,Google 可能无法调用您的授权或令牌交换端点来获取访问令牌和刷新令牌。

您的端点应返回 503 错误代码和空正文。在这种情况下,Google 会在有限的时间内重试失败的令牌交换请求。只要 Google 稍后能够获取刷新令牌和访问令牌,用户就不会看到失败的请求。

如果由用户发起,访问令牌请求失败会导致可见错误。如果使用隐式 OAuth 2.0 流程,用户将需要重试关联失败。

建议

您可以通过多种方法最大限度地降低维护影响。请考虑以下可选方案:

  • 维护现有服务,并将有限数量的请求路由到新更新的服务。请仅在确认预期功能后迁移所有请求。

  • 减少维护期间令牌请求的数量:

    • 将维护期限制为短于访问令牌有效期。

    • 暂时延长访问令牌生命周期:

      1. 将令牌生命周期延长到超过维护期。
      2. 等待访问令牌生命周期的两倍时间,以便用户将短时有效的令牌换成时长更长的令牌。
      3. 进入维护模式。
      4. 使用 503 错误代码和空正文响应令牌请求。
      5. 退出维护。
      6. 将令牌生命周期缩短为正常值。

Cadastre-se no Google

Vamos precisar de detalhes da sua configuração do OAuth 2.0 e compartilhar credenciais para ativar a vinculação de contas. Consulte o registro para mais detalhes.