---
sourceDocument: Xanadu 대화형 인터페이스
sourceDocumentLink: https://servicenow-prod.fluidtopics.net/r/ko-KR/xanadu/conversational-interfaces

 Release :

    - xanadu

ft:locale :

    - ko-KR

ft:publication_title :

    - Xanadu 대화형 인터페이스

ft:clusterId :

    - convint

bundleId :

    - convint

workflow :

    - Platform


---

# 외부 웹 페이지에 웹 클라이언트 포함 가상 에이전트 (레거시 방법)

# 외부 웹 페이지에 웹 클라이언트 포함 가상 에이전트 (레거시 방법) {#ariaid-title1}

* 릴리스 버전: Xanadu
* 
* 업데이트 날짜 2024년 08월 01일
* 
* ![](https://www.servicenow.com/docs/portal-asset/ico-clock) 소요 시간: 9분

인라인 프레임 요소(iframe) 가상 에이전트 를 사용하여 외부 웹 페이지에서 웹 클라이언트 인터페이스를 로드합니다. 웹 클라이언트를 사용 중이고 로그인하지 않은 게스트 사용자에 대해 SSO(Single Sign-On) 인증 프로세스가 자동으로 실행되도록 선택적으로 사용하도록 설정할 수도 있습니다.

## 시작하기 전에

중요사항:  
대신 웹 페이지에 Portable 가상 에이전트 Web Client를 추가하는 것이 좋습니다. 코드 복잡성이 줄어들고 구현하기가 더 쉽습니다. 또한 채팅을 시작하거나 닫기 위한 클릭 동작과 같은 표준 채팅 기능도 포함됩니다. 자세한 내용은 [외부 공급업체 웹 사이트에 휴대용 가상 에이전트 웹 클라이언트 추가](https://servicenow-prod.fluidtopics.net/auTF1Q4nSj1wiSve0pDsOg "타사 웹 페이지에서 Portable Web Client 채팅 위젯을 가상 에이전트 사용하려면 웹 페이지에 필요한 코드를 추가하십시오.") 문서를 참조하십시오.  
* iframe에서 포함할 인스턴스의 URL을 지정합니다. 인스턴스에 없는 ServiceNow 페이지에 웹 클라이언트를 포함하는 경우 URL은 사용자 지정 인스턴스 URL이어야 합니다. 브라우저 보안 강화로 인해 사용자 지정 URL을 사용하지 않으면 웹 클라이언트가 로드되지 않을 수 있습니다. 사용자 지정 URL 사용에 대한 자세한 내용은 [인스턴스에 사용자 지정 URL 연결을](https://www.servicenow.com/docs/access?context=custom-url&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US) 참조하세요.  
  사용자 지정 URL을 사용하려면 다음을 수행합니다.
  * [인스턴스에서 사용자 지정 URL 플러그인(com.snc.customurl)을 활성화합니다.](https://www.servicenow.com/docs/access?context=activate-custom-url-plugin&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)
  * [이전에 구매하고 등록한 사용자 지정 URL을 인스턴스에 추가합니다.](https://www.servicenow.com/docs/access?context=configure-custom-url&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)
  {#create-va-standalone-client__ul_ub1_qcp_fpb}  
  주:  
  웹 클라이언트는 가상 에이전트 기본적으로 Safari의 iframe에서 작동하지 않습니다. Apple 교차 원본 iframe을 차단합니다(iframe에 사용된 URL의 도메인이 웹 사이트 자체의 도메인과 일치하지 않는 경우).
* 가상 에이전트 클라이언트를 포함시킨 후 웹 클라이언트에서 SSO 인증을 선택적으로 트리거할 수 있지만 인스턴스가 외부 SSO 제공자를 사용하도록 설정된 경우에만 가능합니다. 또한 호스팅 사이트는 인스턴스와 동일한 SSO 제공자를 사용해야 합니다. SSO 제공자 설정에 대한 자세한 내용은 [외부 SSO(Single Sign-On)](https://www.servicenow.com/docs/access?context=c_MultipleProviderSingleSignOn&version=xanadu&pubname=xanadu-platform-security&ft:locale=en-US)를 참조하십시오.

  SSO 인증을 트리거하려면 인증 실행 조건을 정의하고 지정된 웹 클라이언트 페이지로 사용자를 리디렉션하는 JavaScript 스크립트를 만듭니다(아래 2단계 참조). 또한 시스템 속성에서 식별하여 이 스크립트에 전달할 수 있는 허용된 URL을 com.glide.cs.web_client_login_redirect_urls 지정합니다. 전체 리디렉션 URL 또는 URL의 호스트 부분(예: <kbd class="ph userinput">https://example.com</kbd> )을 지정합니다.
{#create-va-standalone-client__ul_c51_nbp_fpb}

필요한 역할: admin

## 이 태스크 정보

이 절차를 수행하려면 다음 두 시스템 속성의 값을 설정해야 합니다.

* com.glide.cs.embed.csp_frame_ancestors
* com.glide.cs.embed.xframe_options

{#create-va-standalone-client__ul_tg1_kj5_4qb}이러한 속성은 포함된 웹 클라이언트에 대한 보안 정책, 즉 웹 채팅 클라이언트를 포함하기 전에 iframe에서 브라우저가 iframe에서 HTML 콘텐츠를 가상 에이전트 렌더링하고 라이브 에이전트 보호하는 방법을 결정합니다.  
게스트 사용자에 대한 SSO 인증을 생성하려면 `window.postMessage()` 메서드(웹 API)를 사용하여 인증을 트리거하고 인증 후 사용자가 리디렉션되는 URL을 지정하는 스크립트를 만들 수 있습니다. 이 메서드 및 Window 객체에 대한 자세한 내용은 [Window.postMessage()를](https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage) 참조하십시오.  
주:  
CMS(콘텐츠 관리 시스템) 애플리케이션을 사용하여 애플리케이션에 ServiceNow® 대한 Now Platform 사용자 지정 인터페이스를 만드는 경우 는 지원하지 않는다는 가상 에이전트점에 유의하십시오.

## 프로시저

1. 및 com.glide.cs.embed.xframe_options 시스템 속성을 모두 com.glide.cs.embed.csp_frame_ancestors 설정하여 iframe 콘텐츠를 보호하기 위한 HTTP 헤더 지시문을 지정합니다.  
   HTTP 헤더 지시문은 클릭재킹 시도를 완화하기 위해 특정 도메인에 페이지를 포함할 수 있는지 여부를 브라우저에 알려줍니다. 두 속성을 모두 설정하면 주요 브라우저와 Internet Explorer와 같은 이전 브라우저에 대한 보안 지시문이 있습니다.
   1. 탐색 필터에 <kbd class="ph userinput">sys_properties.list</kbd>를 입력합니다.
   2. 시스템 속성 \[sys_properties\] 테이블에서 이름으로 속성을 검색합니다 com.glide.cs.embed.csp_frame_ancestors .  
      주:  
      이 속성은 HTTP 헤더 지시문인 `Content-Security-Policy:frame-ancestors<source>`의 소스 값을 설정합니다. `host-source` 값을 사용하여 외부 웹 페이지를 포함할 수 있는 도메인을 지정합니다. 이 속성은 Internet Explorer를 제외한 대부분의 주요 브라우저에 적용됩니다.
   3. 속성 이름을 클릭하여 양식을 열고 지시문 값을 지정합니다.  
      {#create-va-standalone-client__table_ecw_cz5_4qb__entry__2}

      | 필드 | 설명 |
      |-|-|
      | 유형 | 문자열 이는 기본값입니다. |
      | 값 | 다음을 포함하여 하나 이상의 소스를 지정합니다. * 'self': 출처가 게재 중인 페이지와 동일함을 나타냅니다. 예를 들어 값이 'self' http://mywebsite.com인 경우 iframe은 상위 도메인뿐만 아니라 mywebsite.com 에도 포함됩니다. 이는 기본값입니다. * host-source: 외부 웹 페이지를 포함할 수 있는 도메인입니다. 이름, IP 주소 또는 선택적 URL 및/또는 포트 번호로 인터넷 호스트 사이트를 지정합니다. 사이트 주소는 와일드카드(별표) 문자로 시작할 수 있습니다. 예제 값: http://\*.example.com * scheme-source: 스키마입니다. 예: http: 또는 https: * none: 일치하는 URL이 없습니다. {#create-va-standalone-client__ul_nny_mrp_ktbxya} |
      [표 1. 시스템 속성: com.glide.cs.embed.csp_frame_ancestors]

      {#create-va-standalone-client__table_ecw_cz5_4qb}

      지정할 수 있는 소스 값에 대한 자세한 내용은 인스턴스 보안 강화 설정에서 [CSP:frame-ancestors](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/frame-ancestors#Syntax) 및 가상 에이전트에 포함된 클라이언트 콘텐츠 보안 정책(인스턴스 보안 강화)을 참조하십시오.
   4. 시스템 속성 \[sys_properties\] 테이블로 돌아가서 이름으로 속성을 검색합니다 com.glide.cs.embed.xframe_options .  
      주:  
      이 속성은 X-Frame-Options 헤더 지시문의 값을 설정하여 브라우저가 프레임에서 외부 웹 페이지를 렌더링할 수 있는지 여부를 나타냅니다. 기본 `sameorigin` 값을 사용하여 외부 웹 페이지를 포함할 수 있는 도메인을 지정합니다. 이 속성은 Internet Explorer 11과 같은 이전 브라우저에 적용됩니다.
   5. 속성 이름을 클릭하여 양식을 열고 지시문 값을 지정합니다.  
      {#create-va-standalone-client__table_mrd_5v5_4qb__entry__2}

      | 필드 | 설명 |
      |-|-|
      | 유형 | 문자열. 기본값입니다. |
      | 값 | 다음을 포함한 값을 지정합니다. * `sameorigin입니다`. 기본값입니다. 페이지 자체와 원본이 같은 프레임에 페이지를 표시합니다. 예제 값: https://example.com 에서 허용. * `부정하다`. 페이지를 프레임에 표시하지 않습니다. * `URI에서 허용`. 지정된 원점의 프레임에만 페이지를 표시합니다. 주: 이 값은 최신 브라우저에서 더 이상 작동하지 않습니다. {#create-va-standalone-client__ul_nrd_5v5_4qb} |
      [표 2. 시스템 속성: com.glide.cs.embed.xframe_options]

      {#create-va-standalone-client__table_mrd_5v5_4qb}

      지정할 수 있는 소스 값에 대한 자세한 내용은 인스턴스 보안 강화 설정의 [X-Frame-Options](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options#Syntax) 및 가상 에이전트 임베디드 클라이언트 X-Frame-Options(인스턴스 보안 강화)를 참조하십시오.
   {#create-va-standalone-client__substeps_sqn_tm5_4qb}
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의 호스트 부분(예: <kbd class="ph userinput">https://example.com</kbd> )을 지정합니다.  
   예시 스크립트:

       <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(location.href);
             
             // 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/sn_va_web_client_login.do?sysparm_redirect_uri=" + encodeURIComponent(location.href);
           });
         </script>

   이 예에서 인증은 SESSION_CREATED 또는 SESSION_LOGGED_OUT 이벤트가 발생할 때 지정된 인스턴스에서 트리거됩니다. 인증 후(사용자에 대한 SSO 자격 증명이 허용되는 경우) 속성에 com.glide.cs.web_client_login_redirect_urls 페이지 URL도 지정했다면 사용자는 `sn_va-web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<your-page>)`에 지정한 포함된 웹 클라이언트 페이지로 리디렉션됩니다.
{#create-va-standalone-client__steps_rg3_zj1_4gb}

