Configurar o logon único com o Azure Active Directory

O Power Virtual Agents oferece suporte ao logon único (SSO), o que significa que os chatbots podem conectar o usuário se ele estiver na página em que o bot esteja implantado.

Pré-requisitos

Com o logon único (SSO), os chatbots no seu site podem conectar os clientes se eles já estiverem acessado a página ou o aplicativo em que o bot está implantado.

Na versão preliminar do Power Virtual Agents, o SSO é compatível apenas com o canal de site personalizado. Ele não é compatível com os seguintes canais:

  • Serviço de Bot do Azure
  • Site de demonstração
  • Facebook
  • Microsoft Teams
  • Aplicativo móvel

ou quando um bot estiver:

  • Publicado no Teams, um site do SharePoint ou um portal do Power Apps
  • Integrado ao Dynamics 365 Customer Service

Criar registros de aplicativo para seu site personalizado

Para habilitar o SSO, você precisará criar dois registros de aplicativo separados:

  • Um registro de aplicativo de autenticação que habilita a autenticação do usuário do Azure Active Directory (Azure AD) no seu bot
  • Um registro de aplicativo de tela, que habilita o SSO para sua página da Web personalizada

Não recomendamos reutilizar o mesmo registro de aplicativo para seu bot e seu site personalizado, por motivos de segurança.

  1. Siga as instruções em Configurar a autenticação do usuário com o Azure AD para criar um registro de aplicativo de autenticação.
  2. Siga as mesmas instruções novamente para criar um segundo registro de aplicativo, que servirá como seu registro de aplicativo de tela.
  3. Retorne a este artigo.

Configurar o registro do aplicativo de tela

  1. Após criar seu registro de aplicativo de tela, acesse Autenticação e selecione Adicionar uma plataforma.

  2. Em Configurações da plataforma, selecione Adicionar uma plataforma e Web.

  3. Em Redirecionar URIs, insira a URL da sua página da Web, por exemplo, http://contoso.com/index.html.

    Captura de tela da página da Web Configurar.

  4. Na seção Concessão implícita e fluxos híbridos, ative as opções Tokens de acesso (usados para fluxos implícitos) e Tokens de ID (usados para fluxos implícitos e híbridos).

  5. Selecione Configurar.

Localize o URL do ponto de extremidade do token do bot

  1. No, Power Virtual Agents, acesse as Configurações e selecione Canais.

  2. Selecione Aplicativo móvel.

  3. Em Ponto de extremidade do token, selecione Copiar.

    Captura de tela da cópia da URL do ponto de extremidade do token no Power Virtual Agents.

Configure o SSO em sua página da Web

Use o código fornecido no Repositório do GitHub do Power Virtual Agents para criar uma página da Web para o URL de redirecionamento. Copie o código do repositório do GitHub e modifique-o usando as instruções abaixo.

  1. Acesse a página Visão geral no portal do Azure e copie o ID do aplicativo (cliente) e o ID do diretório (locatário) a partir do registro do seu aplicativo de tela.

    Captura de tela da página Visão geral do registro do aplicativo no portal do Azure, com Visão geral, ID do aplicativo e ID do Diretório realçados.

  2. Para configurar o Microsoft Authentication Library (MSAL):

    • Atribua clientId para a sua ID do aplicativo (cliente).
    • Atribua authority para https://login.microsoftonline.com/ e adicione a sua ID do diretório (locatário) até o fim.

    Por exemplo:

    var clientApplication;
        (function (){
        var msalConfig = {
            auth: {
                clientId: '692e92c7-xxxx-4060-76d3-b381798f4d9c',
                authority: 'https://login.microsoftonline.com/7ef988bf-xxxx-51af-01ab-2d7fd011db47'     
            },
    
  3. Defina a variável theURL para o URL do ponto de extremidade do token que você copiou anteriormente. Por exemplo:

    (async function main() {
    
        var theURL = "https://1c0.0.environment.api.powerplatform.com/powervirtualagents/bots/5a099fd/directline/token?api-version=2022-03-01-preview"
    
  4. Edite o valor de userId para incluir um prefixo personalizado. Por exemplo:

    var userId = clientApplication.account?.accountIdentifier != null ? 
            ("My-custom-prefix" + clientApplication.account.accountIdentifier).substr(0, 64) 
            : (Math.random().toString() + Date.now().toString()).substr(0,64);
    
  5. Salve suas alterações.

Teste seu bot usando a página da Web

  1. Abra sua página da Web em seu navegador.

  2. Selecione Logon.

    Captura de tela Entrar no sistema usando código de validação

    Observação

    Se o seu navegador bloquear pop-ups ou se você estiver usando uma janela de navegação anônima ou privada, você precisará fazer login. Caso contrário, o login será concluído usando um código de validação.

    Uma nova guia do navegador é aberta.

  3. Alterne para a nova guia e copie o código de validação.

  4. Volte para a guia com seu bot e cole o código de validação na conversa do bot.