Konfigurieren Sie den tragbaren Webclient Virtual Agent .
Konfigurieren Sie das Chat-Widget des tragbaren Webclients für die Ausführung Virtual Agent auf Webseiten von Drittanbietern.
Vorbereitungen
Erforderliche Rolle: admin
Warum und wann dieser Vorgang ausgeführt wird
ServiceNow unterstützt das tragbare Virtual Agent nur, wenn die Domäne der obersten Ebene und der Domänenname mit der Site übereinstimmen, die den Webclient lädt. SSO wird nur über die URL service-now.com unterstützt. Alles, was darüber hinausgeht, erfordert eine anwenderdefinierte Lösung und Implementierung.
Prozedur
- Navigieren Sie zu Alle, und geben Sie im Filter sys_properties.list ein.
- Suchen Sie in der Tabelle „Systemeigenschaften“ [sys_properties] anhand des Namens nach der Eigenschaft com.glide.cs.embed.csp_frame_ancestors.
-
Klicken Sie auf den Namen der Eigenschaft, um das Formular zu öffnen und die Richtlinienwerte anzugeben.
Feld Beschreibung Typ Zeichenfolge Dies ist der Standardwert.
Wert Quellwert der HTTP-Header-Richtlinie: Content-Security-Policy:frame-ancestors<source>Diese Eigenschaft gilt für die meisten gängigen Browser mit Ausnahme von Internet Explorer.Geben Sie eine oder mehrere Quellen an, einschließlich der folgenden:- „self“: Gibt an, dass der Ursprung mit der bereitgestellten Seite identisch ist. Beispiel: Wenn der Wert 'self' http://mywebsite.comlautet, ist der IFrame in die übergeordnete Domäne sowie in mywebsite.com eingebettet. Dies ist der Standardwert.
- host-source: Die Domänen, in die die externe Webseite eingebettet werden kann. Geben Sie die Internet-Hostwebsite anhand des Namens, der IP-Adresse oder optional der URL und/oder Portnummer an. Die Site-Adresse kann mit einem Platzhalterzeichen (Sternchen) beginnen. Beispielwert: http://*.example.com
- scheme-source: ein Schema. Beispiel: http: oder https:
- none: keine übereinstimmenden URLs.
Weitere Informationen zu Quellwerten, die Sie angeben können, finden Sie unter CSP:frame-ancestors und Sicherheitsrichtlinie für eingebettete Client-Inhalte von Virtual Agent (Härtung der Instanzsicherheit) in Härtungseinstellungen für Instanzsicherheit.
- Kehren Sie zur Tabelle „Systemeigenschaften“ [sys_properties] zurück, um anhand des Namens nach der Eigenschaft [ com.glide.cs.embed.xframe_options zu suchen.
-
Klicken Sie auf den Namen der Eigenschaft, um das Formular zu öffnen und die Richtlinienwerte anzugeben.
Feld Beschreibung Typ Zeichenfolge Dies ist der Standardwert.
Wert Wert der Header-Richtlinie „X-Frame-Options“, um anzugeben, ob der Browser eine externe Webseite in einem Frame rendern kann. Geben Sie einen der folgenden Werte an:- sameorigin: Zeigt die Seite in einem Frame an, der denselben Ursprung hat wie die Seite selbst. Dies ist der Standardwert. Diese Eigenschaft gilt für ältere Browser wie Internet Explorer 11. Beispielwert: allow from https://example.com
- deny: Zeigt die Seite nicht in einem Frame an.
- allow-from uri: Zeigt die Seite nur in einem Frame auf dem angegebenen Ursprung an.Hinweis:Dieser Wert funktioniert in modernen Browsern nicht mehr.
Weitere Informationen zu Quellwerten, die Sie angeben können, finden Sie unter X-Frame-Options und X-Frame-Options des eingebetteten Virtual Agent-Clients (Härtung der Instanzsicherheit) in Einstellungen für die Härtung der Instanzsicherheit.
-
Konfigurieren Sie CORS-Regeln für die REST API, um domänenübergreifenden Zugriff zu gewähren.
Diese Regel gewährt der von Ihnen angegebenen Webdomäne das Recht, die API aufzurufen, die ihr Zugriff auf das Chat-Widget auf der Webseite ohne Sicherheitsbeschränkung gewährt. Alle Domänen müssen sich eine gemeinsame übergeordnete Domäne teilen. Außerdem müssen Sie für jede Subdomäne, die Sie unterstützen möchten, eine neue CORS-Regel erstellen.
- Navigieren zu Alle > System-Webservices > REST > CORS-Regeln.
- Klicken Sie auf Neu.
-
Füllen Sie die Felder des Formulars aus.
Feld Beschreibung Name Eindeutiger Name für die Regel. Anwendung Umfang der Anwendung. Der Standardwert ist „Global “. REST-API Name der REST API. Wählen Sie Konversations-Verbraucherkonto [now/cs] aus. Domäne Die Domäne für Ihre Website. Beispiel: https://mycompany.com Wenn Sie mehrere Subdomänen für Ihre Website haben, müssen Sie für jede eine CORS-Regel erstellen. Beispielsweise würden für die Felder „ support.mycompany.com “ und „ products.mycompany.com “ zwei separate CORS-Regeln erforderlich sein.
Hinweis:Platzhalter sind nicht zulässig.Max. Alter Die Anzahl der Sekunden, für die die Clientsitzung im Cache gespeichert wird. Nach einer anfänglichen CORS-Anforderung erfordern weitere Anforderungen von demselben Client innerhalb der angegebenen Zeit keine Preflight-Nachricht. Wenn Sie keinen Wert angeben, gibt der Standardwert 0 an, dass für alle Anforderungen eine Preflight-Nachricht erforderlich ist.
-
Wählen Sie auf der Registerkarte HTTP-Methoden die Option GETaus.
Der tragbare Webclient empfängt nur Anforderungen.
- Klicken Sie auf Absenden.
- Wahlweise: Wiederholen Sie diese Schritte, wenn Sie den tragbaren Webclient einer anderen Subdomäne auf Ihrer Website hinzufügen möchten.
- Wahlweise:
Erstellen Sie ein JavaScript-Skript, das die Methode window.postMessage() (Web API) verwendet, um Ereignisbedingungen zu definieren, die die SSO-Authentifizierung auf einer Anwenderoberfläche auslösen und Anwender an eine von Ihnen angegebene Webclient-Seite zurückleiten.
Um Anwender zu einer Webclient-Seite umzuleiten, verwenden Sie die folgende Zeichenfolge:
"https://<your-instance> .service-now.com/sn_va_web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<your-page> )Hinweis:Bevor Sie das Skript ausführen, verwenden Sie die Systemeigenschaft com.glide.cs.web_client_login_redirect_urls, um die URLs anzugeben, die im Skript übergeben werden können. Die Umleitung funktioniert nur, wenn Sie eine oder mehrere zulässige URLs im Eigenschaftswert angeben. Geben Sie die vollständigen Umleitungs-URLs oder den Host-Teil der URL an. Beispiel: https://beispiel.com.Beispiel-Skript<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>In diesem Beispiel wird die Authentifizierung in der angegebenen Instanz ausgelöst, wenn die Ereignisse SESSION_CREATED oder SESSION_LOGGED_OUT auftreten. Nach der Authentifizierung (wenn die SSO-Anmeldeinformationen für Anwender akzeptiert werden) werden Anwender zu der eingebetteten Webclient-Seite weitergeleitet, die Sie in
sn_va-web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<your-page> ) , sofern Sie auch die Seiten-URL in der Eigenschaft com.glide.cs.web_client_login_redirect_urls angegeben haben.
Nächste Maßnahme
Fügen Sie den tragbaren Webclient Virtual Agent einer Drittanbieter-Website hinzu.