Partilhar via


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.

Aplica-se a: Dynamics 365 Contact Center — incorporado, Dynamics 365 Contact Center — autónomo e Dynamics 365 Customer Service

Pode criar definições de autenticação para validar um cliente com sessão iniciada a partir 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 representante de suporte ao cliente (representante de suporte ou representante) recebe uma notificação na secção Resumo de conversas. O campo Autenticado está definido como Sim ou Não com base no estado de autenticação do cliente. Mais informações em Resumo de conversas.

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 Definições de Autenticação e forneça as informações a seguir na página Adicionar definição de autenticação:

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

    • Proprietário: aceite o valor predefinido ou altere-o para um valor requerido.

    • Tipo de autenticação: por predefinição, o 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 é utilizado para validar as informações que vêm do Token Web (JSON) de JavaScript Object Notation (JWT) do domínio em que um cliente iniciou sessão.

    • 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.

    Obtenha mais informações sobre como localizar o URL da chave pública e a função de cliente JavaScript nas secções Configuração para portais do Power Apps ou Configuração para portais personalizados posteriormente neste tópico.

  4. Selecione Guardar.

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

  1. Efetue os passos 1 a 3 em Criar um registo de definição de autenticação para chat e introduza os detalhes a seguir na página Adicionar definição de autenticação:

    • Nome: um nome para a definição de autenticação.
    • Tipo de Canal: Chat em direto.
    • Tipo de Autenticação: 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 o seu código de autorização pelo token transmitido à sua ação personalizada para adquirir o ID de utilizador.
    • URL de Redirecionamento: o URL transmitido para o pedido de código de autorização original, que é um parâmetro obrigatório em chamadas para o ponto final de troca de token.
    • ID de Cliente: o ID de cliente transmitido ao ponto final de troca de token.
    • Segredo do cliente: o segredo que autentica o cliente transmitido ao ponto final de troca de token.
    • Â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 definições do fluxo de trabalho e, em seguida, aceda ao separador 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 é desencriptado e validado utilizando a chave pública e as informações são transmitidas ao representante de chat no 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 têm de ser definidas exatamente como estão no fluxo de trabalho está associado ao widget de chat. Mais informações em Gerir variáveis de contexto.

Configuração dos portais do Power Apps

Se adicionar autenticação a um widget de chat num site desenvolvido com os portais do Power Apps, o URL da chave pública e função de cliente JavaScript estão disponíveis de origem. Precisa de carregar um certificado personalizado para ter um URL de chave pública válido em portais do Power Apps.

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

Para um portal do Power Apps de origem, a função de cliente JavaScript devolve um token, que, por predefinição, tem a afirmação adequada de associar um registo de contato à conversa. Este token contém a subafirmação com o ID de contacto do utilizador com sessão iniciada. Esta subafirmação fornece um identificador exclusivo para que o Omnicanal identifique e associe automaticamente o registo de contacto do seu ambiente do Dataverse. Obtenha mais informações na tabela da secção a seguir.

Configuração para portais personalizados

Se adicionar uma experiência de chat autenticada a um site personalizado que não tenha sido desenvolvido com portais do Power Apps, a sua equipa de programação Web terá de efetuar alguns passos antes de o seu administrador poder configurar o chat 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 amostra a seguir destina-se a 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 devolve as suas chaves públicas. Os servidores Omnicanal usam chaves públicas para validar o token JWT transmitido como parte da autorização do pedido de chat. Introduz o URL deste ponto final na aplicação Administração ao criar um registo de definição da autenticação.

    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 kid precisa de ser transmitido no token JWT no passo 4. Se usar várias chaves, o seu ponto final de chave pública deve devolver algo parecido com o exemplo a seguir. Uma chave pública é codificada em Base64.

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. Necessita de um serviço que gere o JWT para enviar para os servidores Omnicanal como parte do início de um chat para um utilizador autenticado.

    a. O cabeçalho de JWT tem um aspeto semelhante ao exemplo a seguir.

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

    Se utilizar várias chaves públicas, terá de passar no ID da chave (kid). O seu cabeçalho tem um aspeto semelhante ao exemplo a seguir:

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

    b. O payload JWT deve incluir:

    • No mínimo, as seguintes afirmaçõ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 conta ou de contacto no Customer Service para o utilizador com sessão iniciada. Este GUID é utilizado para identificar e associar o registo de contacto à conversa. A pesquisa de registos identifica registos que têm o código de estado ativo para contactos ou contas. A identificação do registo não funciona se utilizar códigos de estado personalizados.
    • lwicontexts As variáveis de contexto para passar como parte da conversa, seja para fins de encaminhamento ou para apresentação ao representante.
      Mais informações em
      Gerir contexto personalizado
      Método setAuthTokenProvider
      Identificar registos automaticamente utilizando variáveis de contexto

    • Quaisquer outros dados que queira passar.

    O seu payload deverá ter um aspeto semelhante ao seguinte exemplo:

      { 
          "sub" : "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

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

    Nota

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

    • Tem de conter o cabeçalho, o payload e a assinatura do passo 3.

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

      Recomendamos gerar o seu JWT no seu servidor Web.

      O nome deste método JavaScript é usado para criar o registo de definições de autenticação na aplicação de administração do Customer Service.

      // 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. O seu programador precisa de partilhar as seguintes informações com o seu administrador do omnicanal:

    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. Este é o nome interno do widget de chat em direto durante o início de uma conversa.

    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. Pode configurar o redirecionamento no método no passo 4, ou como um passo anterior no fluxo do seu utilizador.

    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á à aplicação de administração e crie um registo de definições de autenticação com as informações do passo 5 da secção anterior. Mais informações em Criar um registo de definição de autenticação para chat.

  2. Associe as definições de autenticação ao widget de chat que tem uma experiência autenticada. Mais informações em Adicionar autenticação ao 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 configuram as definições de autenticação precisam de mais permissões de segurança. Mais informações em Configurar permissões de segurança para um campo.

  • Certifique-se de que a sua organização tem um conhecimento de trabalho do fluxo OpenID Connect do OAuth 2.0. Os passos são descritos na secção seguinte.

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

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

  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. Aparece uma lista das 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, introduza um nome e, em seguida, selecione Apple Messages for Business como o tipo de canal.

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

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

      • ID de Cliente: o Identificador do 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.
      • Âmbito: cada âmbito adicionado especifica que partes dos dados do utilizador pediu 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 do token desencriptado: o ponto final onde a API do OAuth 2.0 pode obter as informações do cliente pedidas no âmbito.
      • 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 formatadas, selecione Adicionar e, em seguida, selecione uma ou mais mensagens formatadas para associar a esta definiçã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. Adiciona este URL ao site do fornecedor de serviço de autenticação em URLs de retorno permitidos.

    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 à qual pretende adicionar autenticação.

  2. Na página Comportamentos das definições do canal, navegue até Definições de autenticação, ative a capacidade e, em seguida, selecione a definição correta no menu pendente. Mais informações em Configurar uma canal do Apple Messages for Business.

  3. Para rever ou atualizar as definições de autenticação para cada instância de 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