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.
Observação
As informações sobre a disponibilidade do recurso são as seguintes.
Central de Contatos do Dynamics 365 – inserida | Central de Contatos do Dynamics 365 – autônoma | Dynamics 365 Customer Service |
---|---|---|
Sim | Sim | Sim |
Você pode criar configurações de autenticação para validar um cliente conectado a um domínio e extrair informações com base 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 da conversa . O campo Autenticado é definido como Sim ou Não com base no status de autenticação do cliente. Saiba mais em Resumo da conversa
Pré-requisitos
- Verificar se sua organização tem conhecimento prático de OAuth 2.0 e 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.
Select 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 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 de chave pública: Especificar a URL de chave pública do domínio. Esta URL é usada para validar as informações provenientes do JavaScript Object Notation (JSON) Web Token (JWT) do domínio no qual um cliente efetuou login.
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 sobre como encontrar a URL da chave pública e a função do cliente JavaScript nas seções Configuração para Power Apps portais ou Configuração para portais personalizados mais adiante neste artigo.
Selecione Salvar.
Criar um registro de configuração da autenticação para chat usando OAuth 2.0
Execute as etapas de 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 configuração de autenticação.
- Tipo de Canal: chat ao vivo.
- Tipo de Autenticação: fluxo implícito do 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 seu código de autorização pelo token passado para sua ação personalizada para adquirir o 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 de troca de tokens.
- ID do cliente: O ID do cliente passado para o ponto de extremidade de troca de tokens.
- Segredo do cliente: O segredo que autentica o cliente passado para o ponto de extremidade de troca de tokens.
- 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
Em 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 .
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 validado usando a chave pública, e as informações são então passadas para o agente de bate-papo em Omnicanal para Customer Service. 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 estão no fluxo de trabalho associado ao widget de chat. Saiba mais em Gerenciar variáveis de contexto
Configuração para portais do Power Apps
Se você adicionar autenticação para um widget de chat em um site desenvolvido usando Power Apps portais, a URL da chave pública e a função do cliente JavaScript estarão disponíveis imediatamente. Você precisa carregar um certificado personalizado para ter uma URL de chave pública válida nos Power Apps portais.
-
URL chave pública:
<portal_base_URL>/_services/auth/publickey
-
Função do cliente JavaScript:
auth.getAuthenticationToken
O Power Apps portal tenta adicionar automaticamente vincular um registro de contato à conversa por meio 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 foi desenvolvido usando portais, sua equipe de desenvolvimento web deverá executar as seguintes etapas antes que seu administrador possa configurar o bate-papo autenticado: Power Apps
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 é para gerar pares de chaves públicas ou privadas.
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 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 bate-papo. Você insere a URL deste endpoint no aplicativo de administração ao criar um registro de configuração de autenticação.
Seu ponto de extremidade de chave pública se 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. A criança precisa receber o token JWT em etapa 4. Se você usar várias chaves, seu endpoint 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 do Omnicanal como parte do início de um bate-papo para um usuário autenticado.
a. O cabeçalho JWT é semelhante ao exemplo a seguir.
{ "alg": "RS256", "typ": "JWT", }
Se você usar várias chaves públicas, precisará passar o ID da chave (kid). Seu cabeçalho se parece com o exemplo a seguir:
{ "alg": "RS256", "typ": "JWT", "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=" }
b. O conteúdo de JWT deve incluir:
No mínimo, as seguintes reivindicaçõ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 o GUID do contato ou registro da conta em SAC para o usuário conectado. Este GUID é usado para identificar e vincular o registro de contato da 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 funciona 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.
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 feita por sua chave privada.
Observação
- Se o token expirou ou é inválido, o widget de chat gera um evento de erro.
- O método setContextProvider não é suportado para bate-papo autenticado. Você deve transmitir seus lwicontexts como parte do conteúdo do JWT.
Crie uma função JavaScript no 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 retornar 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 de etapa 3.
Ele deve ser assinado pela chave privada do par de chaves em 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 administração 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 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 esse nome internamente durante o início de um bate-papo.
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 em etapa 4, ou como um etapa anterior no seu fluxo de 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 de etapa 5 da seção anterior. Saiba mais em Criar um registro de configuração de autenticação para bate-papo
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 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 configuram 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 de conexão OAuth 2.0 OpenID. As etapas sã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 instalação.
Criar um registro de configuração de autenticação para o Apple Messages for Business usando o fluxo de OpenID Connect 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 existentes será 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 , insira um nome e depois Select Apple Messages for Business como o tipo de canal.
Altere o tipo de autenticação fluxo de OpenID Connect OAuth 2.0.
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 especifica quais partes de dados do usuário 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: O 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.
-
ID de cliente: identificador de 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 , Select Adicione e, em seguida, Select uma ou mais mensagens avançadas para associar a esta 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. Adicione esta 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 do canal para a qual você deseja adicionar autenticação.
Na página Comportamentos das configurações do canal, navegue até Configurações de autenticação, ative o recurso e, em seguida, Select a configuração correta no menu suspenso. Saiba mais em Configurar um Apple Messages for Business canal
Para revisar ou atualizar as configurações de autenticação para cada instância de canal, Select 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
Inserir widget de chat nos portais do Power Apps
Identifica automaticamente os clientes