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

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

O agente receberá uma notificação na secção Resumo da conversa se o cliente for autenticado ou não. O campo Autenticado está definido como Sim ou Não com base na autenticação do cliente. Mais informações: 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. Vá a uma das aplicações de administração e efetue os passos que se seguem.

    1. No mapa do site, selecione Definições do Cliente em Suporte ao cliente. Aparece a página Definições do cliente.
    2. Na secção Definições de autenticação, selecione Gerir.

    É apresentada a página Definições de autenticação.

  2. Selecione Novas Definições de Autenticação e forneça as seguintes informações 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 para um valor requerido.

    • Tipo de autenticação: por predefinição, é o fluxo implícito de OAuth 2.0 que 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 no qual 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.

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

  3. Selecione Guardar.

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

  1. Efetue os passos 1 a 3 em Criar um registo de definição de autenticação de chat e introduza os seguintes detalhes 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: 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 que será utilizado para trocar o seu código de autorização pelo token transmitido para a sua ação personalizada para adquirir o ID de utilizador.
    • URL de Redirecionamento: o URL que é 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 do Cliente: o ID do cliente que é transmitido para o ponto final de troca de token.
    • Segredo do cliente: o segredo que autentica o cliente que é transmitido para o 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 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, em seguida, as informações são passadas para o agente de chat no Omnicanal para Suporte ao Cliente. 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 são definidas no fluxo de trabalho que está associado ao widget de chat. Mais informações: Gerir variáveis de contexto

Configuração dos portais do Power Apps

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

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

O portal do Power Apps tentará ligar automaticamente um registo de contacto à conversa através do contexto passado na sua função de cliente JavaScript.

Configuração para portais personalizados

Se estiver a adicionar uma experiência de chat autenticada a um site personalizado que não seja desenvolvido utilizando portais do Power Apps, a sua equipa de programação terá de efetuar os seguintes passos antes de os seus administradores poderem 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.

    Segue-se um código de exemplo para gerar pares de chaves privadas/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 devolverá as suas chaves públicas. Os servidores do Omnicanal utilizarão as chaves públicas para validar o token JWT transmitido como parte da autorização do pedido de chat. O URL deste ponto final será introduzido na aplicação de administração ao criar um registo de definição da autenticação.

    O seu ponto final de chave pública será 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 modelo terá de ser transmitido no token JWT no passo 4. Se estiver a utilizar várias chaves, o seu ponto final de chave pública deve devolver algo parecido com isto. 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. Necessitará de um serviço que gere o JWT para enviar para os servidores do Omnicanal como parte do início de um chat para um utilizador autenticado.

    a. O cabeçalho JWT terá um aspeto semelhante ao seguinte exemplo.

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

    Se estiver a utilizar várias chaves públicas, terá de passar no ID da chave (kid). O seu cabeçalho será semelhante a este exemplo:

    { 
      "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 será utilizado para identificar e ligar o registo de contacto à conversa.
    • 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:
      Gerir contexto personalizado
      Método setAuthTokenProvider
      Identificar registos automaticamente utilizando variáveis de contexto

    • Quaisquer outros dados que queira passar.

    O seu payload será semelhante a este exemplo:

      { 
          "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 tiver expirado ou for inválido, o widget de chat lançará um evento de erro.
    • O método setContextProvider é suportado apenas para chats 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:

    • Conter o cabeçalho, payload e a assinatura do passo 3.

    • 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 será utilizado para criar o registo de definições de autenticação na aplicação Administração Omnicanal.

      // 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 terá 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. O widget de chat em direto será chamado internamente durante o início de um chat.

    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. Isto pode ser feito 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: Criar um registo de definição de autenticação para chat

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

  • Certifique-se de que a sua organização tem conhecimento funcional do fluxo de código OAuth 2.0 ou do fluxo do OAuth 2.0 OpenID Connect. Os passos para ambos os tipos são descritos nas secções que se seguem.

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

Criar um registo de definição de autenticação para o Apple Messages for Business utilizando o fluxo de código do OAuth 2.0

  1. No mapa do site da aplicação do centro de administração do Customer Service ou centro de administração do Omnicanal, selecione Definições de cliente e, em seguida, selecione Gerir para Definições de autenticação. É apresentada 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 selecione Apple Messages for Business como o tipo de canal.
      Por predefinição, o tipo de autenticação é fluxo de código OAuth 2.0.

    2. 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.
      • Âmbito: cada âmbito adicionado especificará que partes dos dados de utilizador pedirá 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 desencriptado: ponto final em que a API OAuth 2.0 pode obter as informações do clientes pedidas no âmbito.
    3. 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.
      Passado o tempo especificado, o campo Autenticada na secção Conversa Ativa de uma conversa autenticada anteriormente mudará para Não.

    4. Na página Mensagens formatadas, selecione Adicionar e, em seguida, selecione uma ou mais mensagens formatadas a associar a esta definição de autenticação.

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

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 ou do centro de administração do Omnicanal, selecione Definições de cliente e, em seguida, selecione Gerir para Definições de autenticação. É apresentada 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 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.
      • Âmbito: cada âmbito adicionado especificará que partes dos dados de utilizador pedirá 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 desencriptado: ponto final em que a API OAuth 2.0 pode obter as informações do clientes 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 anteriormente autenticada será mudada para Não.

    5. Na página Mensagens formatadas, selecione Adicionar e, em seguida, selecione uma ou mais mensagens formatadas a 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. Adicionará este URL ao site do fornecedor do serviço de autenticação sob os 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 para o qual pretende adicionar autenticação.

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

  3. Reveja ou atualize as definições de autenticação para cada instância de canal selecionando Editar.

Consulte também

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