Configure o portátil Virtual Agent widget de bate-papo

  • Versão de lançamento: Zurich
  • Atualizado 31 de jul. de 2025
  • 4 min. de leitura
  • Configure o portátil Virtual Agent widget de bate-papo a ser executado Virtual Agent em páginas da web de terceiros.

    Antes de Iniciar

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

    Função necessária: administrador

    Por Que e Quando Desempenhar Esta Tarefa

    ServiceNow compatível somente com o portátil Virtual Agent quando o domínio de nível superior e o nome do domínio correspondem ao site que está carregando o widget de bate-papo. 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.
    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.
    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é Tudo > 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 widget de bate-papo portátil receberá somente solicitações.
      5. Clique em Enviar.
      6. Opcional: Repita essas etapas se quiser adicionar o widget de bate-papo portátil a outro subdomínio em seu site.
    7. Opcional: Crie um script JavaScript que use window.postMessage()Método (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 retornam os usuários para uma página de widget de bate-papo especificada por você.
      Para redirecionar usuários para uma página de widget de bate-papo, use a seguinte cadeia de caracteres: "https://<your-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=’ e 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 chat widget 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 chat widget
            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 widget de bate-papo incorporado que você especificou em Se você estiver usando a chave de login, será possível usar o código de segurança do usuário para criar uma nova chave de segurança para o sistema de segurança do sistema de segurança do Windows (<your-page>). , Desde que você também tenha especificado o URL da página em com.glide.cs.web_client_login_redirect_urlspropriedade.

    O que Fazer Depois

    Adicione o portátil Virtual Agent widget de bate-papo para um site de terceiros.