Konfigurieren Sie den tragbaren Webclient Virtual Agent .

  • Freigeben Version: Washingtondc
  • Aktualisiert 1. Februar 2024
  • 4 Minuten Lesedauer
  • Konfigurieren Sie das Chat-Widget des tragbaren Webclients, um Virtual Agent auf Webseiten von Drittanbietern auszuführen.

    Vorbereitungen

    Hinweis:
    Für neue Kunden, die das Onboarding ab Vancouver durchführen, ist der Webclient standardmäßig nur für authentifizierte Benutzer zugänglich. Um nicht authentifizierten Benutzern den Zugriff auf den Webclient zu ermöglichen, müssen Sie die Seite sn_va_web_client_app_embed für den öffentlichen Zugriff aktivieren. Weitere Informationen finden Sie unter Make UI pages public or private.

    Erforderliche Rolle: admin

    Warum und wann dieser Vorgang ausgeführt wird

    ServiceNow unterstützt den tragbaren 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 benutzerdefinierte Lösung und Implementierung.

    Prozedur

    1. Navigieren Sie zu Alle, und geben Sie dann sys_properties.list in den Filter ein.
    2. Suchen Sie in der Tabelle „Systemeigenschaften“ [sys_properties] anhand des Namens nach der Eigenschaft com.glide.cs.embed.csp_frame_ancestors.
    3. Klicken Sie auf den Eigenschaftsnamen, um das Formular zu öffnen und die Anweisungswerte anzugeben.
      Feld Beschreibung
      Typ Zeichenfolge

      Dies ist der Standardwert.

      Wert Quellwert der HTTP-Header-Direktive: 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, wird 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-Host-Site nach Name, IP-Adresse oder optionaler 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 in Virtual Agent eingebettete Client-Inhalte (Härtung der Instanzsicherheit) in Einstellungen für die Härtung der Instanzsicherheit.

    4. Kehren Sie zur Tabelle „Systemeigenschaften“ [sys_properties] zurück, um anhand des Namens nach der Eigenschaft [ com.glide.cs.embed.xframe_options zu suchen.
    5. Klicken Sie auf den Eigenschaftsnamen, um das Formular zu öffnen und die Anweisungswerte anzugeben.
      Feld Beschreibung
      Typ Zeichenfolge

      Dies ist der Standardwert.

      Wert Wert der Header-Direktive „X-Frame-Options“, der angibt, 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 wie die Seite hat. 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 am 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 in Virtual Agent eingebetteter Client X-Frame-Options (Härtung der Instanzsicherheit) in Einstellungen für die Härtung der Instanzsicherheit.

    6. Konfigurieren Sie CORS-Regeln für die REST-API, um domänenübergreifenden Zugriff zu gewähren.
      Diese Regel gibt der von Ihnen angegebenen Webdomäne die Rechte zum Aufrufen der API, die ihr den Zugriff auf das Chat-Widget auf der Webseite ohne Sicherheitsbeschränkungen ermöglicht. Alle Domänen müssen eine gemeinsame übergeordnete Domäne verwenden. Außerdem müssen Sie für jede Subdomäne, die Sie unterstützen möchten, eine neue CORS-Regel erstellen.
      1. Navigieren zu Alle > System-Webservices > REST > CORS-Regeln.
      2. Klicken Sie auf Neu.
      3. Füllen Sie die Felder des Formulars aus.
        Feld Beschreibung
        Name Eindeutiger Name für die Regel.
        Anwendung Umfang der Anwendung. Global ist der Standardwert.
        REST-API Name der REST-API. Wählen Sie Conversation Consumer Account [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. Zum Beispiel würden support.mycompany.com undproducts.mycompany.comzwei separate CORS-Regeln erfordern.

        Hinweis:
        Platzhalterzeichen sind nicht zulässig.
        Max. Alter Die Anzahl der Sekunden, um die Clientsitzung im Cache zu speichern. 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.

      4. Wählen Sie auf der Registerkarte HTTP-Methoden die Option GETaus.
        Der tragbare Webclient empfängt nur Anforderungen.
      5. Klicken Sie auf Absenden.
      6. Wahlweise: Wiederholen Sie diese Schritte, wenn Sie den tragbaren Webclient zu einer anderen Subdomäne auf Ihrer Website hinzufügen möchten.
    7. Wahlweise: Erstellen Sie ein JavaScript-Skript, das die Methode window.postMessage() (Web-API) verwendet, um Event-Bedingungen zu definieren, die die SSO-Authentifizierung auf einer Benutzeroberflächenseite auslösen und Benutzer an eine von Ihnen angegebene Webclient-Seite zurückleiten.
      Verwenden Sie die folgende Zeichenfolge, um Benutzer zu einer Webclient-Seite umzuleiten: „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 Hostteil der URL an. Beispiel: https://example.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 Benutzer akzeptiert werden) werden Benutzer zu der eingebetteten Webclientseite weitergeleitet, die Sie in sn_va-web_client_login.do?sysparm_redirect_uri=' + encodeURIComponent(<your-page> ) , solange 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 hinzuan.