Escolha o tipo de vinculação da conta (Dialogflow)

O tipo ideal de vinculação de conta para a Ação é aquele que oferece a experiência mais simples para os usuários e se adapta às necessidades do seu aplicativo ou empresa. A escolha do tipo de vinculação depende principalmente dos seguintes fatores:

  • Se você quer permitir a criação de contas por voz
  • Se você quer que os usuários possam fazer login no seu serviço com uma conta que não seja do Google
  • Se o seu serviço pode ou não armazenar informações confidenciais (ou seja, uma chave secreta do cliente)

Para definir o tipo ideal de vinculação de conta, siga estas etapas:

  1. Considere as perguntas na seção Identificar seu tipo de login preferido.
  2. Consulte a árvore de decisão para escolher o tipo de vinculação.
  3. Navegue até a seção que corresponde ao tipo inicial escolhido para refinar ainda mais o funcionamento.

Identifique o tipo de login de sua preferência

Antes de consultar a árvore de decisão, considere as seguintes perguntas:

  • Você espera que todos os seus usuários tenham uma Conta do Google?
    • Se a Ação segmentar apenas o Google Assistente, todos os usuários terão uma Conta do Google. Se a Ação for voltada a outras plataformas além do Google Assistente, não espere que todos os usuários tenham uma Conta do Google.
    • Se o serviço já tiver usuários, é provável que alguns não tenham uma Conta do Google ou não tenham feito login no serviço com uma Conta do Google.
  • Se você tiver uma implementação OAuth, ela poderá ser estendida para oferecer suporte ao protocolo do Google?
    • Para oferecer suporte ao protocolo do Google, é preciso adicionar as funcionalidades intent=get e intent=create ao endpoint de troca de token. Essa funcionalidade permite que o Google verifique se o usuário já existe no back-end e faça uma solicitação para criar uma nova conta no serviço, respectivamente.

Siga a árvore de decisão abaixo para identificar o tipo de vinculação de conta ideal para você e seus usuários:

Depois de selecionar um tipo de vinculação, acesse a seção correspondente abaixo para saber mais sobre como ela funciona e tomar outras decisões sobre como a vinculação de contas funciona na sua ação.

OAuth e Login do Google

O tipo de vinculação OAuth e Login do Google (GSI) adiciona a GSI à vinculação de conta baseada em OAuth, que oferece os benefícios da GSI (por exemplo, vinculação baseada em voz para usuários do Google) e permite a vinculação de contas para usuários registrados no seu serviço com uma conta de terceiros. Esse tipo de vinculação é especialmente vantajoso para os usuários finais porque fornece um fluxo de baixo atrito para usuários do Google com um substituto para usuários que não são do Google. Para saber mais sobre como o tipo de vinculação OAuth e GSI funciona, consulte o Guia conceitual do OAuth e Login do Google.

Refinar o tipo de vinculação do OAuth e do Login do Google

Ao usar o tipo de vinculação de conta OAuth e GSI na sua Ação, você especifica as respostas às seguintes perguntas no Console do Actions para definir como funciona:

  1. Você quer ativar a criação de contas do Voice ou apenas no seu site?

    Geralmente, é necessário ativar a criação de contas por voz para que os usuários em um dispositivo não filtrado possam criar uma conta sem precisar transferir para outro dispositivo. Se você não permitir a criação de contas por voz, o Google Assistente vai abrir o URL do site da Web que você forneceu para autenticação e direcionar o usuário a um telefone para continuar o fluxo de vinculação de conta.

    No entanto, não permita a criação de contas por voz se alguma das seguintes condições se aplicar:

    1. Você precisa de controle total do fluxo de criação da conta. Por exemplo, talvez seja necessário mostrar seus Termos de Serviço ao usuário durante a criação da conta ou algum outro tipo de aviso.
    2. Você quer garantir que os usuários que já têm uma conta com você façam login com ela. Por exemplo, você pode querer que os usuários continuem usando as contas atuais se oferecer um programa de fidelidade e não quiser que eles percam os pontos acumulados.
  2. Você quer usar o fluxo do código de autorização ou o fluxo implícito?

    O fluxo do código de autorização e o fluxo implícito são diferentes porque o fluxo do código de autorização requer um segundo endpoint, o endpoint token Exchange. Esse endpoint usa tokens de atualização para gerar novos tokens de acesso de curta duração sem solicitar que o usuário faça login novamente.

    Por outro lado, se você usar o fluxo implícito, um token de acesso de longa duração será retornado ao Google, que geralmente não precisa ser gerado novamente. Para mais informações sobre o código de autorização e os fluxos implícitos, consulte o Guia conceitual do OAuth e do Login do Google.

    O Google recomenda usar o fluxo de código de autorização na sua Ação porque ele é mais seguro. No entanto, use o fluxo implícito se o serviço não puder armazenar informações confidenciais (ou seja, uma chave secreta do cliente). Por exemplo, use o fluxo implícito para clientes públicos, como aplicativos de página única (SPAs).

Depois de considerar esses pontos de decisão, consulte a seguinte árvore de decisão:

Login do Google

Com o tipo de vinculação de GSI, a Ação pode solicitar acesso ao perfil do Google do usuário durante uma conversa e usar as informações do perfil para verificar se o usuário está no back-end do serviço. Se o usuário não existir, ele poderá criar uma nova conta no seu sistema usando as informações do perfil do Google.

Para a GSI, é necessário ativar a criação de contas por voz, o que permite que o usuário conclua todo o fluxo por voz. Para saber mais sobre GSI, consulte o Guia dos conceitos do Login do Google.

OAuth

Com o tipo de vinculação do OAuth, o usuário faz login com o fluxo padrão do OAuth 2. O tipo de vinculação do OAuth oferece suporte a dois fluxos de OAuth 2.0 padrão do setor: fluxos de código implícito e de autorização.

O Google não recomenda o tipo de vinculação OAuth por si só, porque ele exige a transferência do usuário de voz para tela para concluir o processo de login se ele estiver em um dispositivo não filtrado. Considere usar esse fluxo se tiver uma implementação atual de um servidor OAuth 2 e não for possível estender o endpoint de troca de token para adicionar suporte aos protocolos do Google para vinculação automática e criação de conta a partir de um token de ID. Para ver mais informações, consulte o Guia de conceitos do OAuth.

Refinar o fluxo

Quando você usa o tipo de vinculação de conta OAuth na sua Ação, é necessário especificar a resposta à seguinte pergunta no Console do Actions para definir como ele funciona:

  1. Você quer usar o fluxo do código de autorização ou o fluxo implícito?

    O tipo de vinculação do OAuth oferece suporte a dois fluxos de OAuth 2.0 padrão do setor: fluxos de código implícito e de autorização. O fluxo do código de autorização e o fluxo implícito são diferentes porque o fluxo do código de autorização exige um segundo endpoint, o endpoint de troca de tokens. Esse endpoint usa tokens de atualização para gerar novos tokens de acesso de curta duração sem solicitar que o usuário faça login novamente.

    Por outro lado, se você usar o fluxo implícito, um token de acesso de longa duração será retornado ao Google, que geralmente não precisa ser gerado novamente. Para mais informações sobre o código de autorização e os fluxos implícitos, consulte o Guia do conceito do OAuth.

    O Google recomenda usar o fluxo de código de autorização na sua Ação porque ele é mais seguro. No entanto, use o fluxo implícito se o serviço não puder armazenar informações confidenciais (ou seja, uma chave secreta do cliente). Por exemplo, use o fluxo implícito para clientes públicos, como aplicativos de página única (SPAs).