As ações de conversa serão descontinuadas em 13 de junho de 2023. Para mais informações, consulte Desativação do Ações de conversa.

Guia de conceitos do Login do Google

Mantenha tudo organizado com as coleções Salve e categorize o conteúdo com base nas suas preferências.

O Login do Google (GSI) para o Google Assistente oferece a experiência de vinculação mais fácil para os usuários e é o fluxo mais fácil para os desenvolvedores implementarem. Com a GSI, sua ação pode solicitar acesso ao perfil do Google do usuário durante uma conversa e, se o usuário consentir, receber o nome, o endereço de e-mail e a foto do perfil. Sua ação poderá usar essas informações para verificar se o usuário tem uma Conta do Google no seu sistema. Caso contrário, a ação pergunta ao usuário se ele quer criar uma nova conta no sistema com base nas informações do perfil do Google.

A GSI é a solução recomendada para a vinculação de contas nas seguintes situações:

  • Você não tem um sistema de autenticação e/ou espera que todos os seus usuários tenham uma Conta do Google. Por exemplo, se a ação segmentar especificamente o Google Assistente, o esperado é que todos os seus usuários tenham Contas do Google.
  • Você já tem um sistema de autenticação e quer vincular apenas usuários que fizerem login no sistema usando as Contas do Google deles.

Para verificar se a GSI é a solução certa para você, consulte a página Escolha o tipo de vinculação de conta.

Termos-chave

Antes de ler sobre o funcionamento da GSI, familiarize-se com os seguintes termos:

  • Token de ID do Google: uma declaração assinada da identidade de um usuário que contém informações básicas de perfil do Google (nome, endereço de e-mail e foto do perfil). Um token de ID do Google é um JSON Web Token (JWT).

    Veja a seguir um exemplo de token decodificado:

{
  "sub": 1234567890,        // The unique ID of the user's Google Account
  "iss": "https://accounts.google.com",        // The token's issuer
  "aud": "123-abc.apps.googleusercontent.com", // Client ID assigned to your Actions project
  "iat": 233366400,         // Unix timestamp of the token's creation time
  "exp": 233370000,         // Unix timestamp of the token's expiration time
  "name": "Jan Jansen",
  "given_name": "Jan",
  "family_name": "Jansen",
  "email": "jan@gmail.com", // If present, the user's email address
  "locale": "en_US"
}
  • user.verificationStatus:uma propriedade definida pelo sistema para indicar se a sessão atual tem um usuário verificado.

  • user.accountLinkingStatus:uma propriedade definida pelo sistema para indicar se o usuário na sessão atual tem uma identidade vinculada.

  • Cenário do sistema de vinculação de contas:é uma cena predefinida que implementa o fluxo de confirmação para vinculação da conta e pode ser personalizada para atender a casos de uso específicos.

Como funciona

O fluxo fundamental da GSI é o seguinte:

  1. Seu Action solicita consentimento ao usuário para acessar o perfil do Google.
  2. Depois que o usuário dá o consentimento, sua ação recebe um token de ID do Google com as informações do perfil do Google.
  3. Valide e decodifique o token para ler o conteúdo do perfil. Se você usar a biblioteca de fulfillment do Actions on Google para Node.js, ela vai validar e decodificar o token para você.
  4. Seu Action usa esse token para verificar se as informações de perfil do Google do usuário existem no sistema.

    1. Em caso afirmativo, o usuário já fez login no sistema com a Conta do Google. O usuário pode continuar a conversa com o Google Assistente usando a identidade vinculada à Conta do Google.
    2. Caso contrário, o usuário pode criar uma nova conta no sistema com as informações contidas no token de ID do Google. O usuário pode continuar a conversa com o Google Assistente com a nova conta vinculada.

Fluxos de Login do Google

Nesta seção, descrevemos os vários fluxos que podem ocorrer com o Login do Google.

Fluxo 1: as informações do usuário existem no seu sistema.

O diagrama a seguir mostra o fluxo completo que ocorre com a GSI quando as informações do usuário já existem no sistema:

Nesse caso, você faz a transição para o cenário do sistema de vinculação de contas e fornece uma justificativa personalizada. Essa cena pede permissão ao usuário para acessar as informações do perfil do Google.

Depois que o usuário consente, o Google Assistente envia uma solicitação com as informações de perfil para user@gmail.com. Nesse caso, as informações contidas no token de ID do Google para user@gmail.com correspondem a uma conta no seu sistema. Portanto, a identidade do usuário na sua ação é automaticamente vinculada a essa conta. Seu webhook pode ler a ordem usual do usuário de um banco de dados e responder de acordo.

Fluxo 2: não há informações do usuário no seu sistema.

O diagrama a seguir mostra o fluxo completo que ocorre com a GSI quando as informações do usuário não existem no sistema:

Nesse caso, as informações no token de ID do Google para user@gmail.com não correspondem a uma conta no seu sistema. Por isso, o Google Assistente pergunta ao usuário se ele quer criar uma nova conta. O usuário pode concluir o processo de criação da conta com voz em vez de transferir para um dispositivo filtrado.

Quando o usuário concorda em criar uma conta, seu serviço usa as informações no token de ID (nome e endereço de e-mail do usuário) para criar uma conta. Depois que a conta é criada, a identidade do usuário na sua ação é vinculada à nova Conta do Google.

Nesse caso, o usuário não tem uma ordem comum porque é novo no serviço. Por isso, a ação pergunta o que ele quer pedir. Você também pode perguntar ao usuário se ele quer definir a ordem mais recente como a normal.