ポータブル 仮想エージェント チャットウィジェットの構成
サードパーティの Web ページで仮想エージェントを実行するようにポータブル 仮想エージェント チャットウィジェットを構成します。
始める前に
注:
Vancouver 以降の新規顧客のオンボーディングの場合、デフォルトでは認証されたユーザーのみがチャットウィジェットにアクセスできます。認証されていないユーザーがチャットウィジェットにアクセスできるようにするには、sn_va_web_client_app_embedページをパブリックアクセスで有効にする必要があります。詳細については、「Make UI pages public or private」を参照してください。
必要なロール:admin
このタスクについて
ServiceNow トップレベルドメインとドメイン名がチャットウィジェットをロードしているサイトと一致する場合にのみ、ポータブル 仮想エージェント がサポートされます。SSO は、service-now.com URL を介してのみサポートされます。それを超える場合は、カスタムソリューションと実装が必要です。
手順
- [ すべて] に移動し、フィルターに 「sys_properties.list 」と入力します。
- システムプロパティ [sys_properties] テーブルで、 com.glide.cs.embed.csp_frame_ancestors プロパティを名前で検索します。
-
プロパティ名をクリックしてフォームを開き、ディレクティブ値を指定します。
フィールド 説明 タイプ 文字列 これがデフォルト値です。
値 HTTP ヘッダーディレクティブのソース値: Content-Security-Policy:frame-ancestors<source>このプロパティは、Internet Explorer を除くほとんどの主要なブラウザーに適用されます。以下を含む 1 つ以上のソースを指定します。- 'self': 作成元が提供されているページと同じであることを示します。たとえば、値が 'self' http://mywebsite.com の場合、iframe は mywebsite.com だけでなく親ドメインにも埋め込まれます。これがデフォルト値です。
- host-source:外部 Web ページを埋め込むことができるドメイン。名前、IP アドレス、またはオプションの URL やポート番号でインターネットホストサイトを指定します。サイトアドレスの先頭にはワイルドカード (アスタリスク) 文字を使用できます。値の例: http://*.example.com
- scheme-source:スキーマ。例: http: または https:
- none:一致する URL がありません。
- システムプロパティ [sys_properties] テーブルに戻り、 com.glide.cs.embed.xframe_options プロパティを名前で検索します。
-
プロパティ名をクリックしてフォームを開き、ディレクティブ値を指定します。
フィールド 説明 タイプ 文字列 これがデフォルト値です。
値 ブラウザーがフレーム内に外部 Web ページをレンダリングできるかどうかを示す、X-Frame-Options ヘッダーディレクティブの値。 次のいずれかの値を指定します。- sameorigin:ページ自体と同じ作成元を持つフレームにページを表示します。これがデフォルト値です。このプロパティは、Internet Explorer 11 などの古いブラウザーに適用されます。値の例: https://example.com から許可
- deny:フレームにページを表示しません。
- allow-from uri:指定した作成元のフレームにのみページを表示します。注:この値は、最近のブラウザーでは機能しなくなっています。
-
ドメイン間でアクセスできるように REST API の CORS ルールを構成します。
このルールは、セキュリティ上の制約なしで Web ページ上のチャットウィジェットへのアクセスを提供する API を呼び出す権限を、指定した Web ドメインに付与します。すべてのドメインは、共通の親ドメインを共有する必要があります。また、サポートするサブドメインごとに新しい CORS ルールを作成する必要があります。
- 移動先 すべて > システム Web サービス > REST > CORS ルール.
- [New] をクリックします。
-
フォームのフィールドに入力します。
フィールド 説明 名前 ルールの一意の名前。 アプリケーション アプリケーションのスコープ。デフォルト値はグローバル です。 REST API REST API の名前。会話コンシューマーアカウント [now/cs] を選択します。 ドメイン Web サイトのドメイン。例: https://mycompany.com Web サイトに複数のサブドメインがある場合は、それぞれに CORS ルールを作成する必要があります。たとえば、 support.mycompany.com と products.mycompany.com には 2 つの別々の CORS ルールが必要です。
注:ワイルドカードは使用できません。最大経過時間 クライアントセッションをキャッシュする秒数。最初の CORS 要求の後、指定された時間内に出された同じクライアントからの追加の要求には、プリフライトメッセージは必要ありません。 値を指定しない場合、デフォルト値の 0 は、すべての要求にプリフライトメッセージが必要であることを示します。
-
[HTTP メソッド] タブで、[GET] を選択します。
ポータブルチャットウィジェットは要求のみを受信します。
- [Submit (送信)] を選択します。
- オプション: ポータブルチャットウィジェットを Web サイトの別のサブドメインに追加する場合は、これらの手順を繰り返します。
- オプション:
メソッド (Web API) window.postMessage() を使用する JavaScript スクリプトを作成して、ユーザーインターフェイスページで SSO 認証をトリガーし、指定したチャットウィジェットページにユーザーを戻すイベント条件を定義します。
ユーザーをチャットウィジェットページにリダイレクトするには、文字列
"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 を 1 つ以上指定した場合にのみ機能します。完全なリダイレクト 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(<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>この例では、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>)で指定した埋め込みチャットウィジェットページにリダイレクトされます。