외부 웹 페이지에 채팅 위젯 포함 가상 에이전트 (레거시 방법)

  • 릴리스 버전: Zurich
  • 업데이트 날짜 2025년 07월 31일
  • 소요 시간: 9분
  • 가상 에이전트 인라인 프레임 요소(iframe)를 사용하여 외부 웹 페이지에 채팅 위젯 인터페이스를 로드합니다. 채팅 위젯을 사용 중이고 로그인하지 않은 게스트 사용자에 대해 SSO(Single Sign-On) 인증 프로세스가 자동으로 실행되도록 선택적으로 활성화할 수도 있습니다.

    시작하기 전에

    중요사항:
    대신 웹 페이지에 Portable 가상 에이전트 Web Client를 추가하는 것이 좋습니다. 코드 복잡성이 줄어들고 구현이 더 쉽습니다. 또한 채팅을 시작하거나 닫기 위한 클릭 작업과 같은 표준 채팅 기능도 포함됩니다. 자세한 내용은 외부 공급업체 웹 사이트에 휴대용 가상 에이전트 채팅 위젯 추가 문서를 참조하십시오.
    • iframe에서 포함할 인스턴스의 URL을 지정합니다. 인스턴스에 없는 페이지에 ServiceNow 채팅 위젯을 포함하는 경우 URL은 사용자 지정 인스턴스 URL이어야 합니다. 브라우저 보안이 강화되어 사용자 지정 URL을 사용하지 않으면 채팅 위젯이 로드되지 않을 수 있습니다. Custom URL 사용에 대한 자세한 내용은 Custom URL을 인스턴스에 연결하기 섹션을 참조하세요.
      주:
      기본적으로 채팅 위젯은 가상 에이전트 Safari의 iframe에서 작동하지 않습니다. Apple 는 교차 원본 iframe을 차단합니다(iframe에 사용된 URL의 도메인이 웹 사이트 자체의 도메인과 일치하지 않는 경우).
    • 가상 에이전트 클라이언트를 내장한 후 채팅 위젯에서 선택적으로 SSO 인증을 트리거할 수 있지만 인스턴스가 외부 SSO 제공자를 사용하도록 설정된 경우에만 가능합니다. 또한 호스팅 사이트는 인스턴스와 동일한 SSO 제공자를 사용해야 합니다. SSO 공급자 설정에 대한 자세한 내용은 외부 SSO(Single Sign-On)를 참조하십시오.

      SSO 인증을 트리거하려면 인증 실행 조건을 정의하고 사용자를 지정한 채팅 위젯 페이지로 리디렉션하는 JavaScript 스크립트를 만듭니다(아래 2단계 참조). 또한 시스템 속성에서 식별하여 이 스크립트에 전달할 수 있는 허용되는 URL을 com.glide.cs.web_client_login_redirect_urls 지정합니다. 전체 리디렉션 URL 또는 URL의 호스트 부분( 예: https://example.com )을 지정합니다.

    필요한 역할: 관리자

    이 태스크 정보

    이 절차를 수행하려면 다음 두 시스템 속성에 대한 값을 설정해야 합니다.
    • com.glide.cs.embed.csp_frame_ancestors
    • com.glide.cs.embed.xframe_options
    이러한 속성은 포함된 채팅 위젯의 보안 정책, 즉 웹 채팅 클라이언트를 포함하기 전에 iframe에서 브라우저가 HTML 컨텐츠 가상 에이전트 렌더링 및 라이브 에이전트 보안 설정 방법을 결정합니다.
    게스트 사용자에 대한 SSO 인증을 생성하려면 window.postMessage() 메서드(웹 API)를 사용하여 인증을 트리거하고 인증 후 사용자가 리디렉션되는 URL을 지정하는 스크립트를 만들 수 있습니다. 이 메서드와 Window 객체에 대한 자세한 내용은 Window.postMessage()를 참조하십시오.
    주:
    CMS(콘텐츠 관리 시스템) 애플리케이션을 사용하여 및 ServiceNow® 애플리케이션에 대한 ServiceNow AI Platform 사용자 지정 인터페이스를 생성하는 경우 는 를 지원하지 가상 에이전트않는다는 점에 유의하십시오.

    프로시저

    1. com.glide.cs.embed.csp_frame_ancestorscom.glide.cs.embed.xframe_options 시스템 속성을 모두 설정하여 iframe 내용을 보호하기 위한 HTTP 헤더 지시문을 지정합니다.
      HTTP 헤더 지시문은 클릭 재킹 시도를 완화하기 위해 페이지를 특정 도메인에 포함 할 수 있는지 여부를 브라우저에 알려줍니다. 두 속성을 모두 설정하면 주요 브라우저는 물론 Internet Explorer와 같은 이전 브라우저에 대한 보안 지시문이 있습니다.
      1. 탐색 필터에 sys_properties.list를 입력합니다.
      2. 시스템 속성 [sys_properties] 테이블에서 이름으로 속성을 검색합니다 com.glide.cs.embed.csp_frame_ancestors .
        주:
        이 속성은 HTTP 헤더 지시문의 소스 값( Content-Security-Policy:frame-ancestors<source>)을 설정합니다. host-source 값을 사용하여 외부 웹 페이지를 포함할 수 있는 도메인을 지정합니다. 이 속성은 Internet Explorer를 제외한 대부분의 주요 브라우저에 적용됩니다.
      3. 속성 이름을 클릭하여 양식을 열고 지시문 값을 지정합니다.
        표 1. 시스템 속성: com.glide.cs.embed.csp_frame_ancestors
        필드 설명
        유형 문자열

        이는 기본값입니다.

        다음을 포함하여 하나 이상의 소스를 지정합니다.
        • 'self': 출처가 게재되는 페이지와 동일함을 나타냅니다. 예를 들어, 값이 'self' http://mywebsite.com이면 iframe이 mywebsite.com 뿐만 아니라 상위 도메인 내에 포함됩니다. 이는 기본값입니다.
        • host-source: 외부 웹 페이지를 포함할 수 있는 도메인입니다. 이름, IP 주소 또는 선택적 URL 및/또는 포트 번호로 인터넷 호스트 사이트를 지정합니다. 사이트 주소는 와일드카드(별표) 문자로 시작할 수 있습니다. 예제 값: http://*.example.com
        • scheme-source: 스키마입니다. 예: http: 또는 https:
        • none: 일치하는 URL이 없습니다.

        지정할 수 있는 소스 값에 대한 자세한 내용은 CSP:frame-ancestors의 Virtual Agent 내장 클라이언트 콘텐츠 보안 정책(인스턴스 보안 강화)을 참조하십시오.Hardening settings

      4. 시스템 속성 [sys_properties] 테이블로 돌아가서 이름으로 속성을 검색합니다 com.glide.cs.embed.xframe_options .
        주:
        이 속성은 X-Frame-Options 헤더 지시문의 값을 설정하여 브라우저가 프레임에서 외부 웹 페이지를 렌더링할 수 있는지 여부를 나타냅니다. 기본 sameorigin 값을 사용하여 외부 웹 페이지를 포함할 수 있는 도메인을 지정합니다. 이 속성은 Internet Explorer 11과 같은 이전 브라우저에 적용됩니다.
      5. 속성 이름을 클릭하여 양식을 열고 지시문 값을 지정합니다.
        표 2. 시스템 속성: com.glide.cs.embed.xframe_options
        필드 설명
        유형 문자열. 기본값.
        다음과 같은 값을 지정합니다.
        • sameorigin입니다. 기본값. 페이지 자체와 원본이 동일한 프레임에 페이지를 표시합니다. 예제 값: https://example.com 에서 허용.
        • 거부하다. 프레임에 페이지를 표시하지 않습니다.
        • allow-from URI입니다. 지정된 원점의 프레임에만 페이지를 표시합니다.
          주:
          이 값은 최신 브라우저에서 더 이상 작동하지 않습니다.

        지정할 수 있는 소스 값에 대한 자세한 내용은 X-Frame-OptionsSet Xframe options to prevent embedding third-party websites [Updated in Security Center 1.3]Hardening settings참조하십시오.

    2. ServiceNow 인스턴스를 사용자 지정 URL에 연결한 후 iframe 요소를 생성하고 외부 웹 페이지에 클라이언트를 포함하는 가상 에이전트 데 사용되는 인라인 요소(iframe)에 사용자 지정 URL을 지정합니다. "https://<your-domain>.com/sn_va_web_client_app_embed.do"
      주:
      인스턴스에는 사용자 지정 URL이 여러 개 있을 수 있지만 인스턴스 URL은 하나만 있을 수 있습니다. 사용자 지정 인스턴스 URL만 사용해야 합니다.
      예:
      <iframe id="sn_va_web_client"     title="ServiceNow Virtual Agent Client"     width="600"     height="900"     src="https://<your-domain>.com/sn_va_web_client_app_embed.do">
      "https://<your-domain>.com/"https://<your-domain>.com/</iframe>
      
      주:
      URL 끝에 ?sysparm_skip_load_history=true 매개변수를 사용하여 대화 기록 없이 인터페이스를 로드합니다.
    3. 옵션: window.postMessage() 메서드(웹 API)를 사용하여 사용자 인터페이스 페이지에서 SSO 인증을 트리거하고 사용자를 지정한 채팅 위젯 페이지로 반환하는 이벤트 조건을 정의하는 JavaScript 스크립트를 만듭니다.
      사용자를 채팅 위젯 페이지로 리디렉션하려면 다음 문자열을 사용합니다. "https://<your-instance>.service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri" + encodeURIComponent(<your-page>)
      주:
      스크립트를 실행하기 전에 시스템 속성을 사용하여 com.glide.cs.web_client_login_redirect_urls 스크립트에 전달할 수 있는 URL을 지정합니다. 리디렉션은 속성 값에 허용되는 URL을 하나 이상 지정한 경우에만 작동합니다. 전체 리디렉션 URL 또는 URL의 호스트 부분( 예: https://example.com )을 지정합니다.
      예시 스크립트:
      <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(location.href);
            
            // 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/sn_va_web_client_login.do?sysparm_redirect_uri=" + encodeURIComponent(location.href);
          });
        </script>

      이 예에서는 SESSION_CREATED 또는 SESSION_LOGGED_OUT 이벤트가 발생할 때 지정된 인스턴스에서 인증이 트리거됩니다. 인증 후(사용자의 SSO 자격 증명이 수락된 경우) 속성에 페이지 URL com.glide.cs.web_client_login_redirect_urls 도 지정한 경우 사용자는 sn_va-web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<your-page>)에서 지정한 포함된 채팅 위젯 페이지로 리디렉션됩니다.