Configurar o cliente da Web portátil do Virtual Agent

  • Versão de lançamento: Xanadu
  • Atualizado 1 de ago. de 2024
  • 4 min. de leitura
  • Configure o widget de bate-papo do cliente web portátil para executar Virtual Agent em páginas da web de terceiros.

    Antes de Iniciar

    Nota:
    Para novos clientes que estão integrando do Vancouver em diante, o cliente web só pode ser acessado por usuários autenticados por padrão. Para permitir que usuários não autenticados acessem o cliente web, você deve habilitar a página sn_va_web_client_app_embed para acesso público. Para mais informações, consulte Make UI pages public or private.

    Função exigida: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    O ServiceNow só oferece suporte ao Virtual Agent Portátil quando o domínio de nível superior e o nome do domínio correspondem ao site que está carregando o cliente web. O SSO só é compatível com o URL service-now.com. Qualquer coisa além disso exigirá solução e implementação personalizadas.

    Procedimento

    1. Navegue até Todos e insira sys_properties.list no filtro.
    2. Na tabela Propriedades do sistema [sys_properties], pesquise a propriedade com.glide.cs.embed.csp_frame_ancestors pelo nome.
    3. Clique no nome da propriedade para abrir o formulário e especificar os valores da diretiva.
      Campo Descrição
      Tipo Cadeia de caracteres

      Este é o valor padrão.

      Valor Valor de origem da diretiva de cabeçalho HTTP: Content-Security-Policy: frame-ancestors<source>Esta propriedade se aplica à maioria dos principais navegadores, exceto para o Internet Explorer.
      Especifique uma ou mais origens, incluindo o seguinte:
      • 'self': indica que a origem é a mesma da página que está sendo exibida. Por exemplo, se o valor for 'self' http://mywebsite.com, o iframe será incorporado ao domínio primário e também ao mywebsite.com. Este é o valor padrão.
      • host-source: os domínios nos quais a página da Web externa pode ser incorporada. Especifique o site de host da Internet por nome, endereço IP ou URL opcional e/ou número da porta. O endereço do site pode começar com um caractere curinga (asterisco). Valor de exemplo: http://*.example.com
      • scheme-source: um esquema. Por exemplo: http: ou https:
      • nenhum: nenhum URL correspondente.

      Para obter mais informações sobre valores de origem que você pode especificar, consulte CSP:frame-ancestors e Política de segurança de conteúdo do cliente incorporado do Virtual Agent (reforço de segurança da instância) em Configurações do reforço de segurança da instância.

    4. Retorne para a tabela Propriedades do sistema [sys_properties] para pesquisar a propriedade com.glide.cs.embed.xframe_options pelo nome.
    5. Clique no nome da propriedade para abrir o formulário e especificar os valores da diretiva.
      Campo Descrição
      Tipo Cadeia de caracteres

      Este é o valor padrão.

      Valor Valor da diretiva de cabeçalho X-Frame-Options, para indicar se o navegador pode renderizar uma página da web externa em um quadro.
      Especifique um dos seguintes valores:
      • sameorigin: exibe a página em um quadro que tem a mesma origem da própria página. Este é o valor padrão. Esta propriedade se aplica a navegadores mais antigos, como o Internet Explorer 11. Valor de exemplo: allow from https://example.com
      • deny: não exibe a página em um quadro.
      • allow-from uri: exibe a página somente em um quadro na origem especificada.
        Nota:
        Este valor não funciona mais em navegadores modernos.

      Para obter mais informações sobre valores de origem que você pode especificar, consulte X-Frame-Options e X-Frame-Options do cliente incorporado do Virtual Agent (reforço de segurança da instância) em Configurações do reforço de segurança da instância.

    6. Configurar Regras CORS para a REST API para conceder acesso entre domínios.
      Esta regra concede ao domínio da web especificados por você, os direitos para chamar a API que concede acesso ao widget de bate-papo na página da web sem uma restrição de segurança. Todos os domínios devem compartilhar um domínio primário comum. Além disso, você deve criar uma nova regra CORS para cada subdomínio que deseja oferecer suporte.
      1. Navegar até Todos > Serviços web do sistema > REST > Regras CORS.
      2. Clique em Nova.
      3. No formulário, preencha os campos.
        Campo Descrição
        Nome Nome exclusivo da regra.
        Aplicação Escopo da aplicação. Global é o valor padrão.
        REST API Nome da REST API. Selecione Conta do consumidor da conversa [now/cs].
        Domínio O domínio do seu site. Por exemplo: https://mycompany.com

        Se você tiver vários subdomínios para seu site, deverá criar uma regra CORS para cada um. Por exemplo, support.mycompany.com e product.mycompany.com exigiriam duas regras de CORS separadas.

        Nota:
        Caracteres curinga não são permitidos.
        Idade máxima O número de segundos para armazenar em cache a sessão do cliente. Após uma solicitação CORS inicial, outras solicitações do mesmo cliente dentro do tempo especificado não exigem uma mensagem de comprovação.

        Se você não especificar um valor, o valor padrão 0 indica que todas as solicitações exigem uma mensagem de comprovação.

      4. Na guia Métodos HTTP, selecione GET.
        O cliente web portátil receberá somente solicitações.
      5. Clique em Enviar.
      6. Opcional: Repita essas etapas se quiser adicionar o cliente web portátil a outro subdomínio no seu site.
    7. Opcional: Crie um script do JavaScript que usa o método window.postMessage() (API da Web) para definir condições de evento que acionam a autenticação SSO em uma página de interface do usuário e retorna os usuários para uma página do cliente web que você especificar.
      Para redirecionar usuários para uma página de cliente web, use a seguinte cadeia de caracteres: "https://<your-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=’ + encodeURIComponent(<your-page>)
      Nota:
      Antes de executar o script, use a propriedade do sistema com.glide.cs.web_client_login_redirect_urls para especificar os URLs que podem ser passados no script. O redirecionamento funciona somente quando você especifica um ou mais URLs permitidos no valor da propriedade. Especifique os URLs de redirecionamento completos ou a parte do host do URL. Por exemplo: https://example.com.
      Exemplo de script
      <script>
          window.addEventListener("message", function(e) {
             // redirect to SSO login if the web client logs in but is logged in as a guest user(unauthenticated)
            if(e.data.type==="SESSION_CREATED" && e.data.authenticated === false)
              window.location.href = "https://<your-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=<’ + encodeURIComponent(<your-page>);
            
            // redirect to SSO login if the ServiceNow platform logs out from underneath the web client
            if(e.data.type==="SESSION_LOGGED_OUT")
              window.location.href = "https://<your-instance>service-now.com/"https://<your-instance>service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=’ + encodeURIComponent(<your-page>);
          });
        </script>

      Neste exemplo, a autenticação é acionada na instância especificada quando ocorrem os eventos SESSION_CREATED ou SESSION_LOGGED_OUT. Após a autenticação (quando as credenciais de SSO dos usuários são aceitas), os usuários são redirecionados para a página do cliente Web incorporado que você especificou em sn_va-web_client_login.do?sysparm_redirect_uri=’ + encodeURIComponent(<your-page>), contanto que você também tenha especificado o URL da página na propriedade com.glide.cs.web_client_login_redirect_urls.

    O que Fazer Depois

    Adicionar o cliente web Virtual Agent portátil a um site de terceiros.