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.
Aplica-se a: Dynamics 365 Contact Center – integrado, Dynamics 365 Contact Center – independente e 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
Para indicar se um cliente está autenticado, o agente recebe uma notificação na seção Resumo de conversa. O campo Autenticado está definido como Sim ou Não baseado no status de autenticação do cliente. Saiba mais em Resumo de conversa
Pré-requisitos
- Verifique se sua organização tem conhecimento prático do OAuth 2.0 e de JSON Web Tokens (JWTs).
- Verifique se você tem permissões nas colunas seguras. Saiba mais em Configurar permissões para acessar colunas seguras
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.
No mapa do site do Centro de administração do Customer Service, selecione Configurações do Cliente em Atendimento ao Cliente. A página Configurações do Cliente será exibida.
Na seção Configurações de autenticação, selecione Gerenciar. A página Configurações de autenticação é exibida.
Selecione Nova Configuração 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 o mude para um valor obrigatório.
Tipo de autenticação: por padrão, OAuth 2.0 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.
Saiba mais informações sobre como encontrar a URL de chave pública e a função de cliente do JavaScript em Configuração dos portais do Power Apps ou as seções Configurar portais personalizados posteriormente neste artigo.
Selecione Salvar.
Criar um registro de configuração de autenticação para o chat usando o OAuth 2.0 (documentos)
Realize as etapas de 1 a 3 em Criar um registro de configuração de 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: OAuth 2.0
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 usada para trocar o código de autorização pelo token passado para a ação personalizada para adquirir a ID do 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 de token.
- ID do cliente: a ID do cliente passada para o ponto de extremidade da troca de token.
- Segredo do cliente: o segredo que autentica o cliente passado para o ponto de extremidade da troca de token.
- Escopo: os escopos para os quais o usuário está autorizado pelo token adquirido no fluxo.
Salve as alterações.
Adicionar autenticação ao widget de chat
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.
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. Saiba mais em Gerenciar variáveis de contexto
Configuração para portais do Power Apps
Se adicionar autenticação para um widget de chat em um site desenvolvido usando os portais do Power Apps, a URL de chave pública e a função de cliente do JavaScript estão disponíveis prontos para uso. Você precisa 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
Para um portal do Power Apps pronto para uso, a função de cliente javascript retorna um token, que, por padrão, tem a reivindicação indicada para vincular um registro de contato à conversa. Esse token contém a subdeclaração com a ID de contato do usuário conectado. Esta subdeclaração fornece um identificador exclusivo para que o Omnicanal identifique e vincule automaticamente o registro de contato pelo ambiente do Dataverse. Saiba mais na tabela da seção a seguir.
Configuração para portais personalizados
Se você adicionar uma experiência de chat autenticado a um site personalizado que não seja desenvolvido usando portais do Power Apps, sua equipe de desenvolvimento da Web deverá realizar as seguintes etapas para o administrador conseguir configurar o chat autenticado:
Gere um par de chaves pública/privada em seus servidores de autenticação. As chaves devem ser geradas usando o algoritmo RSA256.
O código de exemplo a seguir é gerar pares de chave privada ou 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
Crie um ponto de extremidade que retorna 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 deste ponto de extremidade no aplicativo de administrador ao criar um registro de configuração de autenticação.
Seu ponto de extremidade público parece 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. kid precisa ser passado no token JWT na etapa 4. Se você usar usando várias chaves, seu ponto de extremidade 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
}
]
Você precisa de um serviço que gere o JWT para enviar aos servidores Omnicanal como parte do início de um chat para um usuário autenticado.
a. O cabeçalho JWT é semelhante ao exemplo a seguir.
{ "alg": "RS256", "typ": "JWT", }
Se usar várias chaves públicas, você deverá passar o ID da chave (kid). O cabeçalho JWT é semelhante ao seguinte exemplo:
{ "alg": "RS256", "typ": "JWT", "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=" }
b. O conteúdo de JWT deve incluir:
Pelo menos as seguintes declarações:
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 é usada para identificar e vincular o registro do contato à conversa. A pesquisa de registros identifica registros que têm o código de status ativo para contatos ou contas. A identificação de registros não funcionará se você usar códigos de status personalizados.lwicontexts As variáveis de contexto a serem transmitidas como parte da conversa, seja para fins de roteamento ou para exibir ao agente.
Saiba mais em
Gerenciar contexto personalizado
Método setAuthTokenProvider
Identificar registros automaticamente usando variáveis de contextoQuaisquer outros dados que deseje transmitir.
O payload deve ter uma aparência 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 feita por sua chave privada.
Observação
- Se o token tiver expirado 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.
Crie uma função JavaScript em seu site que aceita uma função de retorno de chamada e retorna um JWT à função de retorno de chamada. Para evitar o tempo limite, esta função JavaScript deve retornar um JWT em 10 segundos. Esse JWT deve atender aos seguintes critérios:
Deve conter o cabeçalho, o conteúdo e a assinatura da etapa 3.
Deve 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 JavaScript é usado para criar o registro de configurações de autenticação no aplicativo de administrador SAC.
// 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(); }
Seu desenvolvedor precisa 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 chama internamente esse nome 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. Você pode configurar o redirecionamento 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.
Em seguida, você pode configurar o chat autenticado seguindo estas etapas:
Configurar o chat autenticado
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. Saiba mais em Criar um registro de configuração de autenticação para o chat
Associe as configurações de autenticação ao widget de chat que tenha uma experiência de autenticação. Saiba mais em 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.
Criar configuraçõ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 conhecimento prático do fluxo do OpenID Connect do OAuth 2.0. As etapas estão descritas na próxima seção.
Confirme que sua organização tem pelo menos uma Mensagem rich do tipo de autenticação do Apple Messages for Business. Esta configuração de 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 do OpenID Connect do OAuth 2.0
No mapa do site do Centro de administração do Customer Service, selecione Configurações do cliente e Gerenciar para configurações de autenticação. Uma lista de configurações de autenticação existente é exibida.
Selecione Nova configuração de autenticação e, na página Adicionar configuração de autenticação, forneça os seguintes detalhes:
Na página Tipo de canal, digite um nome e selecione Apple Messages for Business como o tipo de canal.
Altere o tipo de autenticação Fluxo do OpenID Connect do OAuth 2.0.
Na página Adicionar configuração de autenticação, forneça as seguintes informações:
-
ID do Cliente: o identificador do 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 especifica quais partes dos dados do usuário você solicitou ao 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 de token descriptografado: o ponto de extremidade em que 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 obtenham parâmetros extras da solicitação.
-
ID do Cliente: o identificador do cliente OAuth 2.0 emitido por um servidor de autorização.
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 muda para Não.Na página Mensagens avançadas, selecione Adicionar e uma ou mais mensagens avançadas do Apple Pay para associar a essa configuração de autenticação.
Analise a página Resumo e selecione Avançar. A configuração de autenticação é configurada.
Na página Informações de redirecionamento, copie a URL. Você adiciona essa URL ao site do provedor de serviços de autenticação em URLs de retorno de chamada permitidas.
Selecione Concluir.
Adicionar autenticação a um canal do Apple Messages for Business
Abra o fluxo de trabalho que contém a instância de canal na qual você deseja incluir autenticação.
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 canal do Apple Messages for Business
Para analisar ou atualizar as configurações de autenticação de cada instância de canal, selecione Editar.
Informações relacionadas
Adicionar um widget de chat
Configurar uma pesquisa pré-conversa
Criar respostas rápidas
Criar e gerenciar horários de funcionamento
Widget de chat incorporado nos portais do Power Apps
Identifica automaticamente os clientes