Configurar definições de autenticação

A aplicação Omnicanal para Customer Service oferece um conjunto de capacidades que expande o poder do Dynamics 365 Customer Service Enterprise para permitir que as organizações se liguem e participem instantaneamente com os clientes através de canais de mensagens digitais. É necessária uma licença adicional para aceder ao Omnicanal para Customer Service. Para mais informações, consulte as páginas Descrição geral dos preços do Dynamics 365 Customer Service e Plano de preços do Dynamics 365 Customer Service.

Nota

As informações de disponibilidade de caraterísticas são as seguintes.

Dynamics 365 Contact Center — incorporado Dynamics 365 Contact Center — Autónomo Dynamics 365 Customer Service
Sim Sim Sim

Você pode criar configurações de autenticação para validar um cliente conectado de um domínio e extrair informações com base nas variáveis de contexto definidas. Pode diferenciar os seus clientes anónimos a partir de clientes autenticados e pode criar regras com base nas variáveis de contexto.

Por exemplo, pode ter filas separadas para clientes anónimos e clientes autenticados. Uma vez que tem mais informações sobre os clientes autenticados, também pode priorizá-los com base em variáveis específicas, tais como o valor de um carrinho de compras ou um estado privilegiado.

Depois de criar um registo de definições de autenticação, tem de adicioná-lo a uma instância de canal na configuração de um canal de fluxo de trabalho para que ele funcione. A autenticação é suportada para estes canais:

  • Chat
  • Apple Messages for Business

Para indicar se um cliente está autenticado, o agente recebe uma notificação na secção Resumo da conversa. O campo Autenticado é definido como Sim ou Não com base no estatuto de autenticação do cliente. Saiba mais em Resumo da conversa

Pré-requisitos

Criar um registo de definição de autenticação para chat

Pode criar um registo de definição de autenticação de chat na aplicação de administrador.

  1. No mapa do site do centro de administração do Customer Service, selecione Definições do Cliente no Apoio ao Cliente. Aparece a página Definições do cliente.

  2. Na secção Definições de autenticação, selecione Gerir. Aparece a página Definições de autenticação.

  3. Selecione Novas Configurações de Autenticação e forneça as seguintes informações na página Adicionar configuração de autenticação:

    • Nome: introduza um nome para a definição de autenticação.

    • Proprietário: Aceite o valor padrão ou altere-o para um valor necessário.

    • Tipo de autenticação: Por padrão, o fluxo implícito do OAuth 2.0 não pode ser editado.

    • URL da chave pública: Especifique o URL da chave pública do domínio. Este URL é usado para validar as informações que vêm do JavaScript Object Notation (JSON) Web Token (JWT) do domínio no qual um cliente fez logon.

    • Função de cliente JavaScript: Especifique a função de cliente JavaScript a utilizar para autenticação. Esta função extrai um token do ponto final do token.

      Configurar registo da definição de autenticação do chat.

    Saiba mais sobre como localizar a URL de chave pública e a função de cliente JavaScript nas seções Configuração para Power Apps portais ou Configuração para portais personalizados mais adiante neste artigo.

  4. Selecione Guardar.

Criar um registo de definição de autenticação de chat com OAuth 2.0

  1. Execute as etapas 1 a 3 em Criar um registro de configuração de autenticação para bate-papo e insira os seguintes detalhes na página Adicionar configuração de autenticação:

    • Nome: um nome para a definição de autenticação.
    • Tipo de Canal: Chat em direto.
    • Tipo de Autenticação: fluxo implícito de OAuth 2.0
  2. Selecione Seguinte e, na página Detalhes, introduza as seguintes informações:

    • Ação Personalizada de Token: a referência de código personalizada para validar os tokens fornecidos pelo seu fornecedor de identidade e devolver o ID de utilizador do utilizador autenticado.
    • URL do token: o URL usado para trocar seu código de autorização pelo token passado para sua ação personalizada para adquirir o ID do utente.
    • URL de redirecionamento: a URL passada para a solicitação de código de autorização original, que é um parâmetro necessário em chamadas para a ponto final de troca de token.
    • ID do cliente: o ID do cliente passado para o ponto final de troca de token.
    • Segredo do cliente: o segredo que autentica o cliente passado para a troca de token ponto final.
    • Âmbito: os âmbitos para os quais o utilizador está autorizado pelo token adquirido no fluxo.
  3. Guarde as alterações.

Adicionar autenticação a widget de chat

  1. No centro de administração do Customer Service, edite o widget de chat nas configurações do fluxo de trabalho e vá para a guia Comportamentos .

  2. Na caixa Definições de autenticação, procure e selecione o registo de autenticação de chat.

Quando um cliente com sessão iniciada num portal abre o widget de chat, a função de cliente JavaScript passa o JWT do cliente para o servidor. O JWT é descriptografado e validado usando a chave pública, e as informações são passadas para o agente de chat em Omnicanal para Customer Service. Como administrador, também pode transmitir informações adicionais acerca do cliente com sessão iniciada no JWT definindo variáveis de contexto personalizadas. As variáveis de contexto devem ser definidas exatamente como estão no fluxo de trabalho associado ao widget de chat. Saiba mais em Gerenciar variáveis de contexto

Configuração dos portais do Power Apps

Se você adicionar autenticação para um widget de chat em um site desenvolvido usando Power Apps portais, a URL de chave pública e a função de cliente JavaScript estarão disponíveis prontamente. Você precisa carregar um certificado personalizado para ter uma URL de chave pública válida nos Power Apps portais.

  • URL de chave pública: <portal_base_URL>/_services/auth/publickey
  • Função de cliente JavaScript: auth.getAuthenticationToken

O Power Apps portal tenta vincular automaticamente um registro de contato à conversa através do contexto passado em sua função de cliente JavaScript.

Configuração para portais personalizados

Se você adicionar uma experiência de bate-papo autenticada a um site personalizado que não seja desenvolvido usando Power Apps portais, sua equipa de desenvolvimento da Web deverá executar as seguintes etapas antes que seu Administrador possa configurar o bate-papo autenticado:

  1. Gere um par de chaves públicas/privadas nos seus servidores de autenticação. As chaves devem ser geradas com o algoritmo RSA256.

    O código de exemplo a seguir é para gerar pares de chaves privadas ou públicas.

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  2. Crie um ponto final que retorne suas chaves públicas. Os servidores Omnicanal usam as chaves públicas para validar o token JWT passado como parte da autorização da solicitação de chat. Você insere a URL desse ponto final no aplicativo admin ao criar um registro de configuração de autenticação.

    Seu ponto final de chave pública é semelhante a este exemplo:

      -----BEGIN PUBLIC KEY----- 
      NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP 
      mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx 
      ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp 
      jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi 
      RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 
      7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS 
      YQIDAQAB 
      -----END PUBLIC KEY-----   
    
    

Se precisar de usar várias chaves públicas, o seu ponto final de chave pública pode devolver um conjunto de pares <kid, publickey>. onde kid se refere ao ID da chave. Os pares de ID de chave têm de ser exclusivos. O garoto precisa ser passado no token JWT no passo 4. Se você usar várias chaves, seu ponto final de chave pública deverá retornar algo parecido com o exemplo a seguir. A chave pública é codificada em base64.

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. Você precisa de um serviço que gere o JWT para enviar aos servidores do Omnicanal como parte do início de um bate-papo para um utente autenticado.

    a. O cabeçalho JWT é semelhante ao exemplo a seguir.

    { 
      "alg": "RS256", 
      "typ": "JWT", 
    } 
    

    Se você usar várias chaves públicas, você precisa passar o ID da chave (criança). O cabeçalho é semelhante ao exemplo a seguir:

    { 
      "alg": "RS256", 
      "typ": "JWT",
      "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4="
    } 
    

    b. O payload JWT deve incluir:

    • No mínimo, as seguintes reivindicações:

      Afirmação Definição
      iss O emissor do token.
      iat A data em que o token foi emitido, em formato de data numérico.
      exp A data de expiração deste token, em formato de data numérico.
      sub O assunto da afirmação.
      NOTA: Recomendamos que passe o GUID do registo de contacto ou conta em suporte ao cliente para o utilizador com sessão iniciada. Esse GUID é usado para identificar e vincular o registro de contato à conversa. A pesquisa de registros identifica registros que têm o código de estatuto ativo para contatos ou contas. A identificação de registros não funciona se você usar códigos de estatuto personalizados.
    • lwicontexts As variáveis de contexto para passar como parte da conversa, seja para fins de encaminhamento ou para apresentação ao agente.
      Mais Informações em
      Gerir contexto personalizado
      Método setAuthTokenProvider
      Identificar registos automaticamente utilizando variáveis de contexto

    • Quaisquer outros dados que queira passar.

    Sua carga útil deve ser semelhante ao exemplo a seguir:

      { 
          "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"87b4d06c-abc2-e811-a9b0-000d3a10e09e\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

    c. A assinatura JWT deve ser assinada pela sua chave privada.

    Nota

    • Se o token expirou ou é inválido, o widget de chat lança um evento de erro.
    • O método setContextProvider não é suportado para chat autenticado. Deve passar nas suas lwicontexts como parte do payload JWT.
  2. Crie uma função JavaScript em seu site que aceite uma função de retorno de chamada e retorne um JWT para a função de retorno de chamada. Para evitar o tempo limite, esta função JavaScript deve devolver um JWT em 10 segundos. Este JWT deve atender aos seguintes critérios:

    • Ele deve conter o cabeçalho, a carga útil e a assinatura do passo 3.

    • Ele deve ser assinado pela chave privada do par de chaves no passo 1.

      Recomendamos gerar o seu JWT no seu servidor Web.

      O nome desse método JavaScript é usado para criar o registro de configurações de autenticação no aplicativo suporte ao cliente admin.

      // This is a sample JavaScript client function  
      
      auth.getAuthenticationToken = function(callback){ 
      
        var xhttp = new XMLHttpRequest(); 
        xhttp.onreadystatechange = function() { 
            if (this.readyState == 4 && this.status == 200) { 
                callback(xhttp.responseText); 
            } 
        }; 
        xhttp.onerror = function(error) { 
            callback(null); 
        }; 
      //Replace this with a call to your token generating service 
        xhttp.open("GET", "https://contosohelp.com/token", true); 
        xhttp.send(); 
      } 
      
  3. Seu desenvolvedor precisa compartilhar as seguintes informações com seu Omnicanal Administrador:

    a. A URL do serviço de chave pública do passo 2.

    Exemplo: https://www.contoso.com/auth/publickey

    b. O nome da função de cliente JavaScript do passo 4. O widget de chat ao vivo chama esse nome internamente durante o início de um bate-papo.

    Exemplo: auth.getAuthenticationToken

    Nota

    Se a sua experiência de utilizador expuser o botão de chat antes de os utilizadores estarem autenticados, certifique-se de que os redireciona para a sua página de autenticação, conforme necessário. Você pode configurar o redirecionamento no método no passo 4 ou como um passo anterior no fluxo de usuários.

    A ilustração seguinte demonstra a configuração.

    Configuração de chat autenticado.

    Em seguida, pode configurar o chat autenticado seguindo estes passos:

Configurar chat autenticado

  1. Vá para o aplicativo de administração e crie um registro de configurações de autenticação com as informações do passo 5 da secção anterior. Saiba mais em Criar um registro de configuração de autenticação para bate-papo

  2. Associe as configurações de autenticação ao widget de chat que tem uma experiência autenticada. Saiba mais em Adicionar autenticação a widget de chat

    A ilustração que se segue demonstra a sequência de chamada quando um utilizador acede ao seu chat numa configuração autenticada.

    Runtime de chat autenticado.

Criar definições de autenticação para o Apple Messages for Business

Pré-requisitos

  • Os administradores que definem as configurações de autenticação precisam de mais permissões de segurança. Saiba mais em Configurar permissões de segurança para um campo

  • Certifique-se de que sua organização tenha um conhecimento prático do fluxo de conexão OpenID do OAuth 2.0. As etapas são descritas na próxima secção.

  • Confirme que a sua organização tem, pelo menos, uma mensagem Mensagem formatada de tipo de autenticação do Apple Messages for Business. Essa configuração de mensagem avançada é necessária para a instalação.

Criar um registo de definição de autenticação para o Apple Messages for Business utilizando o fluxo do OAuth 2.0 OpenID Connect

  1. No mapa do site do centro de administração do Customer Service, selecione Definições de cliente e, em seguida, selecione Gerir para Definições de autenticação. É apresentada uma lista de definições de autenticação existentes.

  2. Selecione Nova definição de autenticação e, na página Adicionar definição de autenticação, forneça os seguintes detalhes:

    1. Na página Tipo de canal, insira um nome e selecione Apple Messages for Business como o tipo de canal.

    2. Altere o tipo de autenticação fluxo OAuth 2.0 OpenID Connect.

    3. Na página Adicionar definição de autenticação, forneça as seguintes informações:

      • ID de Cliente: Identificador de Cliente OAuth 2.0 emitido por um servidor de autorização.
      • Segredo do cliente: o segredo do cliente é utilizado para autenticar pedidos enviados para um servidor de autorização.
      • Escopo: cada escopo adicionado especifica quais partes de dados do utente você solicitou ao cliente. O conteúdo de âmbito tem de corresponder exatamente aos disponíveis através do seu fornecedor de serviços.
      • URL do Token de Acesso: o ponto final do fornecedor de serviço onde um token de acesso pode ser pedido.
      • URL de token descriptografado: o ponto final onde a API OAuth 2.0 pode recuperar as informações do cliente solicitadas no escopo.
      • Parâmetros adicionais: permite que os serviços de autenticação tomem parâmetros adicionais do pedido.
    4. Opcionalmente, na página Detalhes adicionais, é possível definir um tempo de expiração do token de acesso, em segundos. O tempo de expiração predefinido é uma hora.
      Após o tempo especificado, o campo Autenticado na secção Resumo do cliente de uma conversa autenticada anteriormente muda para Não.

    5. Na página Mensagens avançadas , selecione Adicionar e selecione uma ou mais mensagens avançadas para associar a essa configuração de autenticação.

    6. Reveja a página Resumo e, em seguida, selecione Seguinte. A definição de autenticação é configurada.

    7. Na página Informações de redirecionamento, copie o URL. Você adiciona essa URL ao site do provedor de serviços de autenticação em URLs de retorno de chamada permitidas.

    8. Selecione Concluir.

Adicionar autenticação a um canal Apple Messages for Business

  1. Abra o fluxo de trabalho que contém a instância do canal para a qual você deseja adicionar autenticação.

  2. Na página Comportamentos das configurações do canal, navegue até Configurações de autenticação, habilite o recurso e selecione a configuração correta no menu suspenso. Saiba mais em Configurar um Apple Messages for Business canal

  3. Para revisar ou atualizar as configurações de autenticação para cada instância do canal, selecione Editar.

Adicionar um widget de conversa por chat
Configurar um inquérito de pré-conversa
Criar respostas rápidas
Criar e gerir horas de expediente
Incorporar o widget de chat no portais do Power Apps
Identificar clientes automaticamente