Share via


Definir configurações de autenticação

O Omnichannel for Customer Service oferece um conjunto de recursos que ampliam o poder do Dynamics 365 Customer Service Enterprise para permitir que as organizações se conectem e interajam instantaneamente com clientes em canais de mensagens digitais. É necessária uma licença adicional para acessar o Omnichannel for Customer Service. Para obter mais informações, consulte as páginas Visão geral de preços do Dynamics 365 Customer Service e Plano de preços do Dynamics 365 Customer Service.

Você pode criar configurações de autenticação para validar um cliente conectado de um domínio e extrair informações baseadas nas variáveis de contexto definidas. Você pode diferenciar seus clientes anônimos de clientes autenticados, e você pode criar regras baseadas nas variáveis de contexto.

Por exemplo, você pode ter filas separadas para clientes anônimos e clientes autenticados. Como você tem mais informações sobre seus clientes autenticados, você também pode priorizá-los com base em variáveis específicas, como um valor de carrinho de compra ou um status privilegiado.

Após criar um registro de configurações de autenticação, você deve adicioná-lo a uma instância de canal dentro da configuração de canal de um fluxo de trabalho para que ele funcione. Há suporte para a autenticação para esses canais:

  • Chat
  • Apple Messages for Business

O agente receberá uma notificação na seção Resumo da conversa se o cliente estiver autenticado ou não. O campo Autenticado está definido como Sim ou Não baseado na autenticação do cliente. Mais informações: Resumo da conversa

Pré-requisitos

Crie um registro de configuração de autenticação para chat

É possível criar um registro de configuração de autenticação de chat no aplicativo de administração.

  1. Vá para um dos aplicativos de administração e conclua as seguintes etapas.

    1. No mapa do site, selecione Configurações do Cliente em Suporte ao Cliente. A página Configurações do Cliente será exibida.
    2. Na seção Configurações de autenticação, selecione Gerenciar.

    A página Configurações de autenticação é exibida.

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

    • Nome: insira um nome para a configuração de autenticação.

    • Proprietário: aceite o valor padrão ou mude para um valor obrigatório.

    • Tipo de Autenticação: por padrão, é o fluxo implícito do OAuth 2.0 que não pode ser editado.

    • URL de chave pública: Especificar a URL de chave pública do domínio. Essa URL é usada para validar as informações que vem do Token da Web (JWT) da Notação de objeto de JavaScript (JSON) do domínio ao qual um cliente está conectado.

    • Função de cliente do JavaScript: Especifique a função de cliente do JavaScript para usar para autenticação. Essa função extrai um token da extremidade do token.

      Configure o registro de configuração de autenticação de chat.

    Para obter mais informações sobre como encontrar a URL de chave pública e a função de cliente do JavaScript, consulte a seção Configuração dos portais do Power Apps ou a seção Configuração para portais personalizados posteriormente neste artigo.

  3. Selecione Salvar.

Criar um registro de configuração da autenticação para chat usando OAuth 2.0

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

    • Nome: um nome para a configuração de autenticação.
    • Tipo de Canal: chat ao vivo.
    • Tipo de Autenticação: fluxo implícito do OAuth 2.0
  2. Selecione Avançar e, na página Detalhes, insira as seguintes informações:

    • Ação Personalizada de Token: a referência de código personalizada para validar os tokens fornecidos pelo provedor de identidade e retornar a ID do usuário autenticado.
    • URL do token: a URL que será usada para trocar o código de autorização pelo token passado para a ação personalizada a fim de adquirir a ID de usuário.
    • URL de Redirecionamento: a URL passada para a solicitação do código de autorização original, que é um parâmetro obrigatório em chamadas para o ponto de extremidade da troca do token.
    • ID do cliente: a ID do cliente passada para o ponto de extremidade da troca do token.
    • Segredo do cliente: o segredo do cliente que autentica o cliente passado para o ponto de extremidade da troca do token.
    • Escopo: os escopos para os quais o usuário está autorizado pelo token adquirido no fluxo.
  3. Salve as alterações.

Adicionar autenticação ao 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á até a guia Comportamentos.

  2. Na caixa Configurações de autenticação, busque e selecione o registro de autenticação de chat.

Quando um cliente conectado em um portal abrir o widget do chat, a função de cliente do JavaScript passa o JWT do cliente ao servidor. O JWT é descriptografado e validade usando a chave pública e as informações são passadas ao agente do chat no Omnicanal do Serviço de Atendimento ao Consumidor. Como um administrador, você também pode passar informações adicionais sobre o cliente conectado no JWT definindo as variáveis de contexto personalizadas. As variáveis de contexto devem ser definidas exatamente como são definidas no fluxo de trabalho que está associado ao widget de chat. Mais informações: Gerenciar variáveis de contexto

Configuração para portais do Power Apps

Se estiver adicionando autenticação para um widget de chat em um site desenvolvido usando os portais do Power Apps, a URL da chave pública e a função do cliente do JavaScript estão disponíveis prontos para uso. Você precisará carregar um certificado personalizado para ter uma URL de chave pública válida nos portais do Power Apps.

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

O portal do Power Apps tentará vincular automaticamente um registro do contato à conversa por meio do contexto transmitido na função de cliente JavaScript.

Configuração para portais personalizados

Se você estiver adicionando uma experiência de chat autenticado a um site personalizado que não foi desenvolvido usando os portais do Power Apps, sua equipe de desenvolvimento da Web deverá executar as etapas a seguir para que seus administradores possam configurar o chat autenticado:

  1. Gere um par de chaves pública/privada em seus servidores de autenticação. As chaves devem ser geradas usando o algoritmo RSA256.

    Veja um código de exemplo para gerar pares de chave privada/pública.

    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 de extremidade que retornará chaves públicas. Os servidores Omnicanal usarão as chaves públicas para validar o token JWT passado como parte da autorização da solicitação de chat. A URL desse endpoint será inserida no aplicativo de administração ao criar um registro de configuração de autenticação.

    Seu ponto de extremidade público parecerá com 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 você precisar usar várias chaves públicas, seu ponto de extremidade público pode retornar um conjunto de pares de <kid, publickey>, em que kid se refere à ID da chave. Os pares da ID da chave devem ser exclusivos. O filho deverá ser passado no token JWT na etapa 4. Se você estiver usando várias chaves, seu ponto de extremidade de chave pública deverá retornar algo parecido com isso. 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ê precisará de um serviço que gere o JWT para enviar aos servidores do Omnicanal como parte do início de um chat para um usuário autenticado.

    a. O cabeçalho JWT deverá ser semelhante ao exemplo a seguir.

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

    Se estiver usando várias chaves públicas, você deverá passar o ID da chave (kid). Seu cabeçalho será semelhante a este exemplo:

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

    b. O conteúdo de JWT deve incluir:

    • Pelo menos as declarações a seguir:

      Reivindicação Definição
      iss O emissor do token.
      iat A data em que o token foi emitido, no formato de data numérica.
      exp A data de expiração deste token, no formato de data numérica.
      sub O assunto da declaração.
      OBSERVAÇÃO: recomendamos que você passe a GUID do contato ou do registro da conta no Customer Service para o usuário conectado. Essa GUID será usada para identificar e vincular o registro do contato à conversa.
    • lwicontexts As variáveis de contexto a serem transmitidas como parte da conversa, seja para fins de roteamento ou para exibir ao agente.
      Mais Informações:
      Gerenciar contexto personalizado
      Método setAuthTokenProvider
      Identificar registros automaticamente usando variáveis de contexto

    • Quaisquer outros dados que deseje transmitir.

    Seu conteúdo 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 feita por sua chave privada.

    Observação

    • Se o token expirou ou for inválido, o widget de chat lançará um evento de erro.
    • O método setContextProvider não é compatível com chat autenticado. Você deve transmitir seus lwicontexts como parte do conteúdo do JWT.
  2. Crie uma função JavaScript em seu site que aceitará uma função de retorno de chamada e retornará um JWT à função de retorno de chamada. Para evitar o tempo limite, esta função JavaScript deve retornar um JWT em 10 segundos. Este JWT deve:

    • Conter o cabeçalho, o conteúdo e a assinatura da etapa 3.

    • Ser assinado pela chave privada do par de chaves na etapa 1.

      (Recomendamos gerar seu JWT em seu servidor Web.)

      O nome deste método de JavaScript será usado para criar o registro de configurações de autenticação no aplicativo de administração do 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. Seu desenvolvedor precisará compartilhar as seguintes informações com seu administrador do Omnicanal:

    a. O URL do serviço de chave pública da etapa 2.

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

    b. O nome da função do cliente JavaScript da etapa 4. O widget de chat ao vivo chamará esse nome internamente durante o início de um chat.

    Exemplo: auth.getAuthenticationToken

    Nota

    Se sua experiência de usuário expõe o botão de chat antes que os usuários sejam autenticados, certifique-se de redirecioná-los para sua página de autenticação, conforme necessário. Isso pode ser feito no método da etapa 4 ou como uma etapa anterior no fluxo do usuário.

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

    Configuração de chat autenticado.

    Em seguida, você pode configurar o chat autenticado seguindo estas etapas:

Configurar o chat autenticado

  1. Acesse o aplicativo de administração e crie um registro de configurações de autenticação com as informações da etapa 5 da seção anterior. Mais informações: Criar um registro de configuração de autenticação para o chat

  2. Associe as configurações de autenticação ao widget de chat que terá uma experiência de autenticação. Mais informações: Adicionar autenticação ao widget de chat

    A ilustração a seguir demonstra a sequência de chamadas quando um usuário acessa seu chat em uma configuração autenticada.

    Runtime de chat autenticado.

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

Pré-requisitos

  • Os administradores que estão definindo as configuraçõ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

  • Garanta que sua organização tenha conhecimento prático do fluxo de código OAuth 2.0 ou do fluxo de OpenID Connect OAuth 2.0. As etapas para ambos os tipos são descritas nas seções a seguir.

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

Criar um registro de configuração de autenticação para o Apple Messages for Business usando o fluxo de código OAuth 2.0

  1. No mapa do site do aplicativo do Centro de administração do Customer Service ou do Centro de administração do Omnicanal, selecione Configurações do cliente e, em seguida, selecione Gerenciar para Configurações de autenticação. Uma lista de configurações de autenticação existente é exibida.

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

    1. Na página Tipo de canal, digite um nome e selecione Apple Messages for Business como o tipo de canal.
      Por padrão, o tipo de autenticação é o fluxo de código OAuth 2.0.

    2. Na página Adicionar configuraçã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: segredo do cliente usado para autenticar solicitações enviadas a um servidor de autorização.
      • Escopo: cada escopo adicionado especificará quais dados dos usuários você solicitou do cliente. O conteúdo do escopo deve corresponder exatamente aos disponíveis por meio do seu provedor de serviços.
      • URL do Token de Acesso: o ponto de extremidade do provedor de serviços onde um token de acesso pode ser solicitado.
      • URL do token descriptografado: ponto de extremidade onde a API do OAuth 2.0 pode recuperar as informações do cliente solicitadas no escopo.
    3. Na página Detalhes adicionais, você também pode definir um tempo de validade do token de acesso, em segundos. O tempo de validade padrão é uma hora.
      Após o tempo especificado, o campo Autenticado na seção Conversa ativa de uma conversa previamente autenticada mudará para Não.

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

    5. Reveja sua página Resumo e selecione Concluir. A configuração de autenticação é configurada.

Criar um registro de configuração de autenticação para o Apple Messages for Business usando o fluxo de OpenID Connect OAuth 2.0

  1. No mapa do site do Centro de administração do Customer Service ou do Centro de administração do Omnicanal, selecione Configurações do cliente e Gerenciar configurações de Autenticação. Uma lista de configurações de autenticação existente é exibida.

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

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

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

    3. Na página Adicionar configuraçã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: segredo do cliente usado para autenticar solicitações enviadas a um servidor de autorização.
      • Escopo: cada escopo adicionado especificará quais dados dos usuários você solicitou do cliente. O conteúdo do escopo deve corresponder exatamente aos disponíveis por meio do seu provedor de serviços.
      • URL do Token de Acesso: o ponto de extremidade do provedor de serviços onde um token de acesso pode ser solicitado.
      • URL do token descriptografado: ponto de extremidade onde a API do OAuth 2.0 pode recuperar as informações do cliente solicitadas no escopo.
      • Parâmetros adicionais: permite que os serviços de autenticação obtenham parâmetros extras da solicitação.
    4. Na página Detalhes adicionais, você também pode definir um tempo de validade do token de acesso, em segundos. O tempo de validade padrão é uma hora.
      Após o tempo especificado, o campo Autenticado na seção Resumo do cliente de uma conversa autenticada anteriormente mudará para Não.

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

    6. Analise a página Resumo e selecione Avançar. A configuração de autenticação é configurada.

    7. Na página Informações de redirecionamento, copie a URL. Você adicionará 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 do Apple Messages for Business

  1. Abra o fluxo de trabalho que contém a instância de 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 suspensa. Mais informações: Configurar um canal do Apple Messages for Business

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

Confira também

Adicionar um widget de chat
Configurar uma pesquisa pré-conversa
Criar respostas rápidas
Criar e gerenciar horários de funcionamento
Inserir widget de chat nos portais do Power Apps
Identifica automaticamente os clientes