Freigeben über


Konfigurieren von Authentifizierungseinstellungen

Omnichannel for Customer Service bietet eine Reihe von Funktionalitäten, die die Möglichkeiten von Dynamics 365 Customer Service Enterprise erweitern und es Unternehmen ermöglichen, über digitale Nachrichtenkanäle sofort mit ihren Kunden in Kontakt zu treten und sich mit ihnen zu engagieren. Für den Zugriff auf Omnichannel for Customer Service ist eine zusätzliche Lizenz erforderlich. Weitere Informationen finden Sie auf den Seiten Dynamics 365 Customer Service Preisübersicht und Dynamics 365 Customer Service Preisplan.

Anmerkung

Die Informationen zur Verfügbarkeit des Features lauten wie folgt.

Dynamics 365 Contact Center – eingebettet Dynamics 365 Contact Center – eigenständig Dynamics 365 Customer Service
Ja Ja Ja

Sie können Authentifizierungseinstellungen erstellen, um einen angemeldeten Kunden aus einer Domäne zu validieren und Informationen basierend auf den definierten Kontextvariablen zu extrahieren. Sie können Ihre anonymen Kunden von authentifizierten Kunden besser unterscheiden, und Sie können Regeln für die Kontextvariablen erstellen.

Beispielsweise können Sie Warteschlangen für separate anonyme Kunden und authentifizierte Kunden haben. Da Sie mehr Informationen zu Ihren authentifizierten Kunden haben, können Sie diese anhand bestimmter Variablen, wie Einkaufswagenwert oder einen privilegierten Status auch priorisieren.

Nachdem Sie einen Authentifizierungseinstellungs-Datensatz erstellt haben, müssen Sie sie ihn einer Kanlinstanz innerhalb auf der Registerkarte Grundlegende Informationen des entsprechenden Chatwidgets hinzufügen, um sie verwenden zu können. Die Authentifizierung wird für diese Kanäle unterstützt:

  • Chat
  • Apple Messages for Business

Um anzuzeigen, ob ein Kunde authentifiziert ist, erhält der Agent eine Benachrichtigung im Abschnitt Gesprächszusammenfassung . Das Feld Authentifiziert wird basierend auf dem Authentifizierungsstatus des Kunden auf Ja oder Nein gesetzt. Weitere Informationen finden Sie unter Gesprächszusammenfassung

Anforderungen

Einen Chatauthentifizierungseinstellungsdatensatz erstellen

Sie können in der Admin-App einen Chatauthentifizierungseinstellungsdatensatz erstellen.

  1. Wählen Sie im Customer Service-Admin Center unter Kundensupport Kundeneinstellungen aus. Die Benutzerdefinierte Einstellungen Seite wird angezeigt.

  2. Im Abschnitt Authentifizierungseinstellungen wählen Sie Verwalten aus. Die Seite Authentifizierungseinstellungen wird angezeigt.

  3. Auswählen Neue Authentifizierungseinstellungen und geben Sie dann auf der Seite Authentifizierungseinstellung hinzufügen die folgenden Informationen ein:

    • Name: Geben Sie einen Namen für die Authentifizierungseinstellungen an.

    • Eigentümer: Akzeptieren Sie den Standardwert oder ändern Sie ihn in einen erforderlichen Wert.

    • Authentifizierungstyp: Standardmäßig kann der implizite OAuth 2.0-Flow nicht bearbeitet werden.

    • Öffentlicher Schlüssel URL: Geben Sie die öffentlicher Schlüssel URL der Domäne an. Diese URL wird verwendet, um die Informationen zu validieren, die vom JavaScript Object Notation (JSON) Web Token (JWT) der Domäne stammen, bei der sich ein Kunde angemeldet hat.

    • JavaScript-Clientfunktion: Geben Sie die JavaScript-Clientfunktion an, die zur Authentifizierung verwendet wird. Dieses Funktion extrahiert einen Token vom Token-Endpunkt.

      Konfigurieren von einem Chat-Authentifizierungseinstellungsdatensatz

    Weitere Informationen zum Auffinden der öffentlichen Schlüssel-URL und der JavaScript-Clientfunktion finden Sie in den Abschnitten Setup für Power Apps Portale oder Setup für benutzerdefinierte Portale weiter unten in diesem Artikel.

  4. Wählen Sie Speichern.

Einen Authentifizierungseinstellungsdatensatz für Chat mit OAuth 2.0 erstellen

  1. Führen Sie die Schritte 1 bis 3 unter Einen Datensatz mit Authentifizierungseinstellungen für den Chat erstellen aus und geben Sie auf der Seite Authentifizierungseinstellung hinzufügen die folgenden Details ein:

    • Name: Ein Name für die Authentifizierungseinstellungen.
    • Kanaltyp: Live-Chat.
    • Authentifizierungstyp: implizierter OAuth 2.0-Fluss
  2. Wählen Sie Weiter und geben Sie auf der Seite Details die folgenden Informationen ein:

    • Benutzerdefinierte Token-Aktion: Die benutzerdefinierte Codereferenz zur Validierung der von Ihrem Identitätsanbieter bereitgestellten Token und zur Rückgabe der Benutzer-ID des authentifizierten Benutzers.
    • Token-URL: Die URL, die zum Austausch Ihres Autorisierungscodes gegen das Token verwendet wird, das an Ihre benutzerdefinierte Aktion zum Abrufen der Benutzer-ID übergeben wird.
    • Umleitungs-URL: Die an die ursprüngliche Autorisierungscodeanforderung übergebene URL. Dies ist ein erforderlicher Parameter bei Aufrufen des Token-Austauschs Endpunkt.
    • Client-ID: Die an den Token-Austausch übergebene ID des Clients Endpunkt.
    • Client-Geheimnis: Das an den Token-Austausch übergebene Geheimnis zur Authentifizierung des Clients Endpunkt.
    • Umfang: Die Bereiche, für die der Benutzer durch das im Flow erworbene Token autorisiert ist.
  3. Speichern Sie die Änderungen.

Fügen Sie das Chatwidget hinzu

  1. Bearbeiten Sie in Chat-Widget Chat-Widget in den Workstream-Einstellungen und wechseln Sie dann zur Registerkarte Verhaltensweisen .

  2. Suchen Sie im Feld Authentifizierungseinstellungen den Datensatz für die Chat-Authentifizierung und wählen Sie ihn aus.

Wenn ein angemeldeter Kunde auf einem Portal das Chatwidget öffnet, wir die JavaScript-Clientfunktion das JWT vom Client zum Server weitergegeben. Das JWT wird mit dem öffentlichen Schlüssel entschlüsselt und validiert, und die Informationen werden dann an den Chat-Agenten in Omnichannel for Customer Service weitergegeben. Als Administrator können Sie weitere Informationen zu den angemeldete Kunden im JWT weitergeben, indem Sie benutzerdefinierte Kontextvariablen definieren. Die Kontextvariablen müssen genau so definiert werden, wie sie im mit Omnichannel verknüpften Arbeitsstream sind. Weitere Informationen finden Sie unter Kontextvariablen verwalten

Setup für Power Apps-Portale

Wenn Sie auf einer mithilfe von Power Apps Portalen entwickelten Website eine Authentifizierung für ein Chat-Widget hinzufügen, sind die öffentliche Schlüssel-URL und die JavaScript-Clientfunktion sofort verfügbar. Sie müssen ein benutzerdefiniertes Zertifikat hochladen , um auf Power Apps Portalen über eine gültige öffentliche Schlüssel-URL zu verfügen.

  • Öffentliche Schlüssel URL: <portal_base_URL>/_services/auth/publickey
  • JavaScript-Client-Funktion: auth.getAuthenticationToken

Das Power Apps Portal versucht, anhand des in seiner JavaScript-Clientfunktion übergebenen Kontexts automatisch einen Kontaktdatensatz zur Konversation hinzuzufügen.

Benutzerdefinierte Portale einrichten

Wenn Sie einer benutzerdefinierten Website, die nicht mithilfe von Power Apps Portalen entwickelt wurde, eine authentifizierte Chat-Erfahrung hinzufügen, muss Ihr Webentwicklungsteam die folgenden Schritte ausführen, bevor Ihr Administrator den authentifizierten Chat konfigurieren kann:

  1. Generieren Sie ein öffentliches/privates Schlüsselpaar auf ihren Authentifizierungsservern. Die Schlüssel müssen mit RSA256 Algorithmus generiert werden.

    Der folgende Beispielcode dient zum Generieren privater oder öffentlicher Schlüsselpaare.

    openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048
    openssl rsa -pubout -in private_key.pem -out public_key.pem
    
  2. Erstellen Sie ein Endpunkt, das Ihre öffentlichen Schlüssel zurückgibt. Die Omnichannel-Server verwenden die öffentlichen Schlüssel, um das JWT-Token zu validieren, das im Rahmen der Autorisierung der Chat-Anfrage übergeben wurde. Sie geben die URL dieses Endpunkt in die Admin-App ein, wenn Sie einen Datensatz für die Authentifizierungseinstellungen erstellen.

    Ihr öffentlicher Schlüssel Endpunkt sieht ähnlich aus wie in diesem Beispiel:

      -----BEGIN PUBLIC KEY----- 
      NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP 
      mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx 
      ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp 
      jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi 
      RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 
      7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS 
      YQIDAQAB 
      -----END PUBLIC KEY-----   
    
    

Wenn Sie mehrere öffentliche Schlüssel verwenden müssen, kann Ihr Endpunkt des öffentlichen Schlüssels einen Satz von <kid, publickey>-Paaren zurückgeben, wobei sich kid auf die Schlüssel-ID bezieht. Die Schlüssel-ID-Paare müssen eindeutig sein. Dem Kind muss das JWT-Token in Schritt 4 übergeben werden. Wenn Sie mehrere Schlüssel verwenden, sollte Ihr öffentlicher Schlüssel Endpunkt etwas zurückgeben, das wie das folgende Beispiel aussieht. Der öffentliche Schlüssel ist Base64-codiert.

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. Sie benötigen einen Dienst, der das JWT generiert, um es beim Starten eines Chats für einen authentifizierten Benutzer an die Server von verknüpfen zu senden.

    a. Der JWT-Header sieht ähnlich wie im folgenden Beispiel aus.

    { 
      "alg": "RS256", 
      "typ": "JWT", 
    } 
    

    Wenn Sie mehrere öffentliche Schlüssel verwenden, müssen Sie die Schlüssel-ID (Kid) übergeben. Ihre Kopfzeile sieht in etwa wie im folgenden Beispiel aus:

    { 
      "alg": "RS256", 
      "typ": "JWT",
      "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4="
    } 
    

    b. Der JWT-Payload sollte Folgendes enthalten:

    • Mindestens die folgenden Ansprüche:

      Anspruch Definition
      Iss Der Aussteller des Tokens.
      Iat Das Datum, an dem das Token ausgestellt wurde, im numerischen Datumsformat.
      Exp Das Ablaufdatum, an dem das Token ausgestellt wurde, im numerischen Datumsformat.
      Zwischentitel Der Betreff des Anspruchs.
      HINWEIS: Wir empfehlen, dass Sie die GUID des Kontakt- oder Kontodatensatzes in Kundenservice für den angemeldeten Benutzer übergeben. Diese GUID wird verwendet, um den Kontaktdatensatz der Konversation zu identifizieren und verknüpfen. Die Datensatzsuche identifiziert Datensätze, die den aktiven Statuscode für Kontakte oder Konten haben. Die Datensatzidentifizierung funktioniert nicht, wenn Sie benutzerdefinierte Statuscodes verwenden.
    • lwicontexts Die Kontextvariablen, die als Teil der Unterhaltung übergeben werden sollen, entweder für Routing-Zwecke oder zur Anzeige für den Agenten.
      Weitere Informationen unter:
      Benutzerdefinierte Kontext verwalten
      setAuthTokenProvider Methode
      Sie können Datensätze auch automatisch mit Hilfe von Kontextvariablen identifizieren

    • Alle anderen Daten, die Sie übergeben möchten.

    Ihre Nutzlast sollte ungefähr dem folgenden Beispiel ähneln:

      { 
          "sub" : "87b4d06c-abc2-e811-a9b0-000d3a10e09e",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"87b4d06c-abc2-e811-a9b0-000d3a10e09e\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

    c. Die JWT-Signatur sollte mit Ihrem privaten Schlüssel signiert sein.

    Anmerkung

    • Wenn das Token abgelaufen oder ungültig ist, löst Chat-Widget ein Fehlerereignis aus.
    • Die Methode setContextProvider wird für authentifizierten Chat nicht unterstützt. Sie sollten Ihre lwicontexts als Teil der JWT-Nutzlast übergeben.
  2. Erstellen Sie auf Ihrer Website eine JavaScript-Funktion, die eine Rückruffunktion akzeptiert und ein JWT an die Rückruffunktion zurückgibt. Um eine Zeitüberschreitung zu vermeiden, sollte diese JavaScript-Funktion innerhalb von 10 Sekunden eine JWT zurückgeben. Dieses JWT muss die folgenden Kriterien erfüllen:

    • Es muss den Header, die Nutzlast und die Signatur von Schritt 3 enthalten.

    • Es muss mit dem privaten Schlüssel aus dem Schlüsselpaar in Schritt 1 signiert sein.

      Wir empfehlen, Ihre JWT auf Ihrem Webserver zu generieren.

      Der Name dieser JavaScript-Methode wird verwendet, um den Datensatz mit den Authentifizierungseinstellungen in der Admin-App Kundenservice zu erstellen.

      // This is a sample JavaScript client function  
      
      auth.getAuthenticationToken = function(callback){ 
      
        var xhttp = new XMLHttpRequest(); 
        xhttp.onreadystatechange = function() { 
            if (this.readyState == 4 && this.status == 200) { 
                callback(xhttp.responseText); 
            } 
        }; 
        xhttp.onerror = function(error) { 
            callback(null); 
        }; 
      //Replace this with a call to your token generating service 
        xhttp.open("GET", "https://contosohelp.com/token", true); 
        xhttp.send(); 
      } 
      
  3. Ihr Entwickler muss die folgenden Informationen mit Ihrem Omnichannel Administrator: Teilen

    a. Die URL des Dienstes des öffentlichen Schlüssels aus Schritt 2.

    Beispiel: https://www.contoso.com/auth/publickey

    b. Der Name der JavaScript-Client-Funktion aus Schritt 4. Der Live-Chat Chat-Widget ruft diesen Namen intern beim Starten eines Chats auf.

    Beispiel: auth.getAuthenticationToken

    Notiz

    Wenn Ihre Benutzererfahrung die Chat-Schaltfläche offenlegt, bevor Benutzer authentifiziert werden, stellen Sie sicher, dass Sie sie nach Bedarf auf Ihre Authentifizierungsseite umleiten. Sie können die Umleitung in der Methode in Schritt 4 oder als früheres Schritt in Ihrem Benutzerfluss einrichten.

    Die folgende Abbildung zeigt die Einrichtung.

    Authentifizierte Chateinrichtung.

    Anschließend können Sie einen authentifizierten Chat einrichten, indem Sie die folgenden Schritte ausführen:

Einen authentifizierten Chat einrichten

  1. Gehen Sie zur Admin-App und erstellen Sie einen Datensatz für Authentifizierungseinstellungen mit den Informationen aus Schritt 5 des vorherigen Abschnitts. Weitere Informationen finden Sie unter Erstellen eines Authentifizierungseinstellungsdatensatzes für den Chat

  2. Ordnen Sie die Authentifizierungseinstellungen dem Chat-Widget zu, der über eine authentifizierte Erfahrung verfügt. Weitere Informationen finden Sie unter Authentifizierung zu Chat-Widget hinzufügen

    Das folgende Bild zeigt die Anrufsequenz, wenn ein Benutzer in einem authentifizierten Setup auf Ihren Chat zugreift.

    Authentifizierte Chatlaufzeit.

Chatauthentifizierungseinstellungen für Apple Messages for Business erstellen

Anforderungen

  • Administratoren, die die Authentifizierungseinstellungen konfigurieren, benötigen mehr Sicherheitsberechtigungen. Weitere Informationen finden Sie unter Sicherheitsberechtigungen für ein Feld einrichten

  • Stellen Sie sicher, dass Ihre Organisation über praktische Kenntnisse des OAuth 2.0 OpenID Verbinden-Flows verfügt. Die Schritte werden im nächsten Abschnitt beschrieben.

  • Bestätigen Sie, dass Ihre Organisation über mindestens eine Apple Messages for Business Authentifizierungstyp Rich-Nachricht verfügt. Diese Rich-Message-Konfiguration ist für das Setup erforderlich.

Mithilfe des OAuth-2.0-OpenID-Connectflows einen Authentifizierungseinstellungsdatensatz für Apple Messages for Business erstellen

  1. Wählen Sie in der Siteübersicht der Customer Service-Admin Center App Kundeneinstellungen und wählen dann Authentifizierungseinstellungen verwalten. Eine Liste der vorhandenen Authentifizierungseinstellungen wird angezeigt.

  2. Wählen Sie Neue Authentifizierungseinstellung und geben Sie auf der Seite Authentifizierungseinstellung hinzufügen die folgenden Details ein:

    1. Geben Sie auf der Seite Kanaltyp einen Namen und dann Auswählen Apple Messages for Business als Kanaltyp ein.

    2. Ändern Sie den Authentifizierungstyp OAuth-2.0-OpenID-Connectflow.

    3. Geben Sie auf der Seite Authentifizierungseinstellung hinzufügen die folgenden Informationen an:

      • Kunden ID: OAuth 2.0-Client-ID, ausgestellt von einem Autorisierungsserver.
      • Client-Geheimnis: Geheimer Clientschlüssel, der zum Authentifizieren von Anforderungen verwendet wird, die an einen Autorisierungsserver gesendet werden.
      • Umfang: Jeder hinzugefügte Umfang gibt an, welche Benutzerdaten Sie vom Kunden angefordert haben. Der Umfangsinhalt muss genau mit dem übereinstimmen, der über Ihren Dienstanbieter verfügbar ist.
      • Zugriffstoken-URL: Der Endpunkt des Dienstanbieters, wo ein Zugriffstoken angefordert werden kann.
      • Entschlüsselte Token-URL: Die Endpunkt, wo die OAuth 2.0-API die im Rahmen angeforderten Kundeninformationen abrufen kann.
      • Zusätzliche Parameter: Ermöglicht Authentifizierungsdiensten, zusätzliche Parameter aus der Anforderung zu übernehmen.
    4. Auf der Seite Weitere Details können Sie optional eine Ablaufzeit in Sekunden für das Zugriffstoken definieren. Die Standardablaufzeit beträgt eine Stunde.
      Nach der angegebenen Zeit ändert sich das Feld Authentifiziert im Abschnitt Kundenübersicht einer zuvor authentifizierten Konversation in Nein.

    5. Fügen Sie auf der Seite Rich Messages Auswählen eine oder mehrere Rich Messages hinzu und Auswählen dann, um sie mit dieser Authentifizierungseinstellung zu verknüpfen.

    6. Überprüfen Sie die Seite Zusammenfassung und dann Weiter. Die Authentifizierungseinstellungen werden konfiguriert.

    7. Kopieren Sie auf der Seite Umleitungsinformationen die URL. Sie fügen diese URL unter den zulässigen Rückruf-URLs zur Website des Authentifizierungsdienstanbieters hinzu.

    8. Klicken Sie auf Fertig stellen.

Fügen Sie das Chatwidget hinzu einem Apple Messages for Business Kanal hinzu

  1. Öffnen Sie den Arbeitsstream, der die Kanalinstanz enthält, für die Sie eine Authentifizierung hinzufügen möchten.

  2. Navigieren Sie auf der Seite Verhalten der Kanaleinstellungen zu Authentifizierungseinstellungen, aktivieren Sie die Funktion und Auswählen dann die richtige Einstellung aus dem Dropdown-Menü. Weitere Informationen finden Sie unter Konfigurieren eines Apple Messages for Business Kanals.

  3. Um die Authentifizierungseinstellungen für jede Kanalinstanz zu überprüfen oder zu aktualisieren, Auswählen Bearbeiten.

Chat-Widget hinzufügen
Konfigurieren einer Vor-Unterhaltungs-Umfrage
Schnellantworten erstellen
Erstellen und verwalten Sie Betriebszeiten
Chatwidget in Power Apps Portalen einbetten
Kunden automatisch identifizieren