Adicione a autenticação do usuário a um tópico para permitir que os clientes entrem diretamente em uma conversa. Você pode personalizar a conversa com as variáveis do usuário e acessar sistemas de back-end em nome do usuário.
Você precisa configurar a autenticação do usuário com Microsoft Entra ID antes de poder usar a autenticação em seus tópicos.
Siga as instruções em Configurar autenticação do usuário com o Microsoft Entra ID.
Adicionar a autenticação do usuário com o tópico do sistema Entrar
Quando você cria um copiloto, o Copilot Studio adiciona automaticamente um tópico do sistema chamado Entrar. Para usá-lo, você deve definir a autenticação do copiloto como manual e exigir que os usuários entrem. Quando um cliente inicia uma conversa com o copiloto, o tópico Entrar é desencadeado e solicita que o usuário entre. Você pode personalizar o tópico Entrar conforme apropriado para seu copiloto.
Importante
É recomendável que o tópico Entrar seja usado apenas para fornecer o método de autenticação fornecido pelo Copilot Studio. Ele não deve ser modificado para chamar quaisquer outras ações, fluxos ou outros métodos de autenticação.
Abra seu copiloto no Copilot Studio, selecione Configurações na parte superior da página e selecione Segurança.
Selecione Autenticação.
Selecione Autenticar manualmente e, em seguida, selecione Exigir que os usuários entrem.
Configure todos os campos de autenticação manual, conforme necessário.
Selecione Salvar.
Adicionar autenticação de usuário com um tópico personalizado
O tópico Entrar autentica o usuário no início da conversa. Para permitir que o usuário faça login posteriormente, você pode adicionar um nó Autenticar a qualquer tópico personalizado.
Quando os clientes inserem o nome de usuário e a senha, eles poderão ser solicitados a inserir um código de validação. Depois de entrarem, não serão novamente solicitados, mesmo que atinjam outro nó Autenticar.
Selecione Configurações na parte superior da página e, em seguida, selecione Segurança.
Selecione o bloco Autenticação.
Observação
Você deve selecionar Autenticar manualmente para adicionar a autenticação do usuário a um tópico personalizado.
Desmarque a caixa de seleção Exigir que os usuários entrem.
Configure todos os campos de autenticação manual, conforme necessário.
Selecione Salvar.
Selecione Tópicos na parte superior da página.
Selecione Adicionar nó () >Avançado>Autenticar.
Teste seu tópico com um usuário configurado com seu provedor de identidade.
Gorjeta
É importante que você crie caminhos para login bem-sucedido e falha no login. Pode haver falha no login por vários motivos, incluindo erros com a experiência de entrada do provedor de identidade.
Variáveis de autenticação
Após configurar a autenticação do usuário para o copiloto, você poderá usar as variáveis de autenticação nos tópicos. A tabela a seguir compara a disponibilidade dessas variáveis com base na opção de autenticação que você escolheu.
Para obter mais informações sobre como variáveis, consulte Trabalhar com variáveis.
Variável de autenticação |
Sem autenticação |
Autenticar com a Microsoft |
Autenticar manualmente |
User.DisplayName |
Não disponível |
Disponível |
Disponível |
User.FirstName |
Não disponível |
Disponível |
Disponível |
User.LastName |
Não disponível |
Disponível |
Disponível |
User.PrincipalName |
Não disponível |
Disponível |
Disponível |
User.Email |
Não disponível |
Disponível |
Disponível |
User.Id |
Não disponível |
Disponível |
Disponível |
User.IsLoggedIn |
Não disponível |
Disponível |
Disponível |
User.AccessToken |
Não disponível |
Não disponível |
Disponível |
SignInReason |
Não disponível |
Disponível |
Disponível |
User.DisplayName
Aviso
Não há garantia de que esta variável contenha um valor. Teste com um usuário do seu provedor de identidade para garantir que seu tópico funcione corretamente.
A variável User.DisplayName
contém o nome de exibição armazenado no provedor de identidade. Use essa variável para saudar ou consultar o usuário final sem que ele tenha que fornecer seu nome explicitamente ao copiloto, tornando a conversa mais personalizada.
O Copilot Studio define automaticamente o valor de User.DisplayName
da reivindicação name
fornecida pelo provedor de identidade, desde que o escopo profile
tenha sido definido quando a autenticação manual foi configurada. Para obter mais informações sobre o escopo, consulte Configurar autenticação de usuário com o Microsoft Entra ID.
User.Id
Aviso
Não há garantia de que esta variável contenha um valor. Teste com um usuário do seu provedor de identidade para garantir que seu tópico funcione corretamente.
A variável User.Id
contém a ID do usuário armazenada no provedor de identidade. Use essa variável em fluxos do Power Automate para chamar APIs que usam a UserID como um valor.
O Copilot Studio define automaticamente o valor de User.DisplayName
com base na declaração sub
do provedor de identidade.
User.IsLoggedIn
User.IsLoggedIn
é uma variável booliana que armazena o status de entrada do usuário. Um valor true
indica que o usuário está conectado. Você pode usar essa variável para criar lógica de ramificação nos seus tópicos que verifica se há uma entrada com êxito ou buscar informações do usuário somente se o usuário estiver conectado.
User.AccessToken
Aviso
Certifique-se de passar a variável User.AccessToken
apenas para fontes confiáveis. Ele contém informações de autenticação do usuário que, se comprometidas, podem prejudicar o usuário.
A variável User.AccessToken
contém o token do usuário, obtido após a entrada do usuário. Você pode passar essa variável para fluxos do Power Automate para que eles possam se conectar a APIs de back-end e buscar informações do usuário ou executar ações em nome do usuário.
Não use User.AccessToken
dentro dos nós Mensagem ou em fluxos nos quais você não confia.
SignInReason
SignInReason
é uma variável do tipo escolha que indica quando o usuário deve entrar. Ela tem dois possíveis valores:
SignInRequired
indica que o usuário deve entrar no início da conversa usando o tópico do sistema Entrar. A opção Exigir que os usuários entrem deve ser ativado.
Initializer
indica que, quando um usuário não está conectado e chega a um ponto na conversa que usa variáveis de autenticação, é solicitado que ele entre no sistema.
Variáveis de autenticação
Se o copiloto estiver configurado com as opções de autenticação Autenticar com a Microsoft ou Manual, você terá um conjunto de variáveis de autenticação disponíveis em seus tópicos. Para obter mais informações sobre como configurar autenticação em seu copiloto, consulte Configurar autenticação do usuário no Copilot Studio.
A tabela a seguir compara a disponibilidade da variável de autenticação por opção de configuração de autenticação:
Variável de autenticação |
Sem autenticação |
Autenticar com a Microsoft |
Manual |
User.DisplayName |
❌ |
✔️ |
✔️ |
User.Id |
❌ |
✔️ |
✔️ |
User.IsLoggedIn |
❌ |
❌ |
✔️ |
User.AccessToken |
❌ |
❌ |
✔️ |
Variável UserDisplayName
A variável User.DisplayName
contém o nome de exibição do usuário armazenado no provedor de identidade. Você pode usar essa variável para saudar ou consultar o usuário final sem que ele tenha que manifestar isso explicitamente ao copiloto, tornando-o mais personalizado.
Esse valor de campo é obtido por meio da declaração do Microsoft Entra ID name
. Para provedores OAuth, esse é o valor armazenado na declaração name
. Como o Copilot Studio extrai automaticamente esse campo para a variável, certifique-se de ter profile
como parte de sua configuração de escopo de autenticação.
Variável UserID
A variável User.Id
contém a ID do usuário armazenado no provedor de identidade. Os fluxos do Power Automate podem usar este valor para chamar APIs que usam UserID como um valor.
Esse valor de campo é obtido por meio da declaração do Microsoft Entra ID sub
. Para provedores OAuth, esse é o valor armazenado na declaração sub
. O Copilot Studio extrai automaticamente esse campo para a variável.
Aviso
As variáveis User.DisplayName
e User.Id
não têm garantia de preenchimento e podem ser cadeias de caracteres vazias dependendo da configuração do usuário no provedor de identidade. Teste com um usuário de seu provedor de identificação para garantir que seus tópicos funcionem corretamente, mesmo se essas variáveis estiverem vazias.
Variável IsLoggedIn
O User.IsLoggedIn
variável indica se o usuário está conectado (seja como resultado de entrar ou de já estar conectado, também conhecido como caminho de logon com êxito) ou não conectado (o que resultaria no caminho de falha de logon).
User.IsLoggedIn
é uma variável booliana que contém o status de entrada do usuário. Você pode usar essa variável para criar lógica de ramificação em seus tópicos que verifica se há uma entrada bem-sucedida (por exemplo, no modelo já fornecido como parte da adição do nó Autenticar) ou buscar oportunamente informações do usuário apenas se o usuário estiver conectado.
Variável User.AccessToken
A variável User.AccessToken
contém o token do usuário, obtido após a entrada do usuário. Você pode passar essa variável para fluxos do Power Automate para que eles possam se conectar a APIs de back-end e buscar as informações do usuário ou executar ações em nome do usuário.
Aviso
Certifique-se de passar a variável User.AccessToken
apenas para fontes confiáveis. Ele contém informações de autenticação do usuário que, se comprometidas, podem prejudicar o usuário.
Não use User.AccessToken
dentro de nós Mensagem ou em fluxos nos quais você não confia.
Testando variáveis de autenticação
Por padrão, o painel Bot de teste usa a conta do usuário atualmente conectado para preencher as variáveis User.DisplayName
e User.Id
. No entanto, ao testar tópicos que usam autenticação, você tem a opção de usar outros valores para essas variáveis (ou até mesmo um valor em branco).
Por exemplo, você pode querer testar como os caracteres especiais são usados ou o que acontece se a variável estiver vazia.
A tabela a seguir lista os comandos para preencher essas variáveis. Esses comandos não se aplicam somente ao painel Bot de teste; você não pode usá-los em um copiloto publicado implantado em um canal.
Digite o comando desejado no painel Bot de teste como faria se estivesse conversando normalmente com o copiloto. Você receberá uma mensagem de confirmação do copiloto se tiver êxito. Se o seu copiloto não usar autenticação, você receberá um erro.
Se você redefinir o painel Bot de teste (ou fizer alterações em um tópico que faça o Bot de teste ser redefinido automaticamente), será necessário enviar os comandos novamente.
Variável |
Comando de valor personalizado |
Comando de valor vazio (em branco) |
User.DisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
User.Id |
Não disponível |
/debug set bot.UserID "" |
Importante
Por motivos de segurança, não é possível preencher a variável User.Id
com um valor personalizado (diferente de um valor vazio ou em branco).
Autenticação ao usar "Autenticar com a Microsoft"
Se sua opção de autenticação estiver definida como Autenticar com a Microsoft, não será necessário adicionar a autenticação explicitamente aos seus tópicos. Nessa configuração, qualquer usuário no Microsoft Teams é conectado automaticamente por meio de suas credenciais do Teams e não precisa entrar explicitamente com um cartão de autenticação. Se sua opção de autenticação estiver definida como Manual, será necessário adicionar um nó Autenticar (mesmo para o canal do Teams).
Observação
Se sua opção de autenticação estiver definida como Autenticar com a Microsoft, você não terá a opção de adicionar explicitamente a autenticação aos seus tópicos.
Adicionar autenticação de usuário a um tópico
O nó Autenticar solicita que um usuário entre com um cartão de entrada. Depois que um usuário entra, não será solicitado que entre novamente, mesmo que acesse outro nó Autenticar.
Depois que o usuário digitar seu nome de usuário e senha na solicitação (hospedada pelo provedor de identidade), você poderá ser solicitado a inserir um código de validação, dependendo do canal. Alguns canais, como o Microsoft Teams, não exigem o código de validação do usuário.
Quando o copiloto tiver SSO configurado, o usuário não será solicitado a entrar.
Para adicionar um nó Autenticar em seu tópico:
Acesse a página Tópicos do copiloto que você deseja editar.
Abra o tópico ao qual deseja adicionar o modelo de autenticação.
Observação
Se o copiloto estiver conectado ao Dynamics 365 Customer Service, o nó de Autenticação não poderá fazer parte do caminho da conversa que o copiloto seguirá quando saudar os usuários inicialmente. Caso contrário, o cartão de entrada será exibido duas vezes. Em vez disso, é necessário adicionar o nó Autenticar a outro tópico que é acionado por uma resposta do usuário.
Selecione Adicionar nó (+) para adicionar um nó de mensagem. Insira o que o copiloto deve dizer para indicar que uma experiência de entrada está prestes a ocorrer.
Abaixo do nó da mensagem, selecione Adicionar nó (+), selecione Chamar uma ação e Autenticar.
Nota
O nó Autenticar está disponível somente no seletor de ações no final de uma árvore de diálogo (como um nó folha). Não é possível adicioná-lo no meio de um diálogo. Depois de adicioná-lo, é possível adicionar outros nós abaixo dele.
Novos nós aparecem automaticamente: um nó pai Autenticar, seguido por nós para um caminho de sucesso e um caminho de falha.
Uso de User.AccessToken sem um nó Autenticar
As variáveis User.IsLoggedIn
e User.AccessToken
estão disponíveis, mesmo se você não usar o modelo fornecido pela entrada de menu Chamar uma ação. Se você passar a variável User.AccessToken
sem primeiro fazer com que o usuário passe pelo nó Autenticar, o usuário será solicitado a entrar nessa etapa.
Passar a variável User.AccessToken
pode ser útil se você sempre esperar que o usuário esteja conectado ou se o usuário estiver sendo redirecionado de um tópico diferente. Sugerimos que você use o modelo fornecido pela entrada Chamar uma ação para tratar casos em que o usuário não consegue entrar.
Nota
Se o usuário sair no meio de uma conversa, será solicitado que você entre novamente se o tópico chegar a um nó que usa a variável User.AccessToken
.
Caminho de êxito
O caminho de êxito equivale a onde User.IsLoggedIn = True
e contas para quando o usuário entrou com êxito (ou já estava conectado).
Se você tiver uma lógica que use a variável User.AccessToken
(por exemplo, para conectar-se a um sistema de back-end usando um fluxo para recuperar as informações de um usuário), ela deverá seguir esse caminho.
Caminho de falha
O caminho da falha equivale a qualquer condição diferente de IsLoggedIn = True
. Na maioria dos casos, o caminho de falha ocorre porque o usuário não conseguiu entrar, utilizou a senha errada ou cancelou a experiência de entrada.
Adicione qualquer lógica que você queira tratar neste caso. Como exemplo, fornecemos opções para tentar novamente ou escalonar para um agente humano. Personalize as ações do caminho de falha para seu uso e cenário específicos.
Como testar seu tópico
Certifique-se de testar seu tópico usando um usuário real configurado em seu provedor de identidade. Certifique-se de que os caminhos de êxito e falha de entrada são testados, para que não haja surpresas caso o usuário não consiga entrar ou ocorra um erro na experiência de entrada do provedor de identidade.