Udostępnij przez


Konfigurowanie ustawień uwierzytelniania

Aplikacja Obsługa wielokanałowa dla Customer Service dla Dynamics 365 oferuje zestaw funkcji, które rozszerzają możliwości Dynamics 365 Customer Service Enterprise, aby umożliwić organizacjom natychmiastowe łączenie się i interakcję z klientami za pośrednictwem cyfrowych kanałów komunikacji. Do uzyskania dostępu do obsługi wielokanałowej dla Customer Service jest wymagana dodatkowa licencja. Aby uzyskać więcej informacji, zobacz omówienie cennika usługi Dynamics 365 Customer Service i strony cennika Dynamics 365 Customer Service.

Dotyczy : Dynamics 365 Contact Center—wbudowane, Dynamics 365 Contact Center—standalone i Dynamics 365 Customer Service

Użytkownik może utworzyć ustawienia uwierzytelniania polegające na sprawdzeniu tożsamości zalogowanego klienta z domeny oraz wyodrębnieniu informacji na podstawie zdefiniowanych zmiennych kontekstu. Klienci anonimowi mogą być odróżniani od uwierzytelnionych klientów, a reguły mogą być tworzone na podstawie zmiennych kontekstowych.

Można na przykład dysponować osobnymi kolejkami dla klientów anonimowych i uwierzytelnionych. Ze względu na fakt, że użytkownik ma więcej informacji o uwierzytelnionych klientach, może ich traktować priorytetowo na podstawie określonych zmiennych, takich jak wartość koszyka lub stan uprzywilejowany.

Po utworzeniu rekordu ustawień uwierzytelniania należy dodać go do wystąpienia kanału w konfiguracji kanału strumienia pracy, aby zapewnić jego działanie. W przypadku tych kanałów jest obsługiwane uwierzytelnianie:

  • Czat
  • Apple Messages dla biznesu

Aby wskazać, czy klient jest uwierzytelniony, przedstawiciel działu obsługi klienta (przedstawiciel działu obsługi lub przedstawiciel) otrzymuje powiadomienie w sekcji Podsumowanie konwersacji. Pole Uwierzytelniony jest ustawione na Tak lub Nie, na podstawie stanu uwierzytelnienia klienta. Dowiedz się więcej na Podsumowanie rozmowy.

Wymagania wstępne

Utwórz rekord ustawień uwierzytelniania dla czatu

Możesz utworzyć rekord ustawienia uwierzytelniania czatu w aplikacji administratora.

  1. Na mapie witryny centrum administracyjnego usługi Copilot wybierz pozycję Ustawienia klienta w obszarze Obsługa klienta. Pojawi się strona Ustawienia klienta.

  2. W sekcji Ustawienia uwierzytelniania wybierz Zarządzaj. Zostanie wyświetlona strona Ustawienia uwierzytelnienia.

  3. Wybierz pozycję Nowe ustawienia uwierzytelniania, a następnie podaj następujące informacje na stronie Dodawanie ustawienia uwierzytelniania:

    • Nazwa: Wprowadź nazwę ustawienia uwierzytelniania.

    • Właściciel: Zaakceptuj wartość domyślną lub zmień na wymaganą.

    • Typ uwierzytelniania: Domyślnie OAuth 2.0 nie można edytować.

    • Adres URL klucza publicznego: Określ adres URL klucza publicznego domeny. Ten adres URL służy do sprawdzania poprawności informacji pochodzących z tokenu internetowego (JWT) JavaScript Object Notation (JSON) domeny, do której jest zalogowany dany klient.

    • Funkcja klienta języka JavaScript: Określ funkcję klienta języka JavaScript, która ma być używana do uwierzytelniania. Ta funkcja powoduje wyodrębnianie tokenu z punktu końcowego tokenu.

      Skonfiguruj zapis ustawień uwierzytelniania czatu.

    Aby uzyskać więcej informacji na temat znajdowania adresu URL klucza publicznego i funkcji klienta języka JavaScript, zobacz sekcję Konfiguracja dla portali Power Apps lub sekcję Konfiguracja dla portali niestandardowych w dalszej części tego dokumentu.

  4. Wybierz pozycję Zapisz.

Dodawanie uwierzytelniania do widgetu rozmowa

  1. W centrum administracyjnym usługi Copilot zmodyfikuj widżet czatu w ustawieniach strumienia roboczego, a następnie przejdź do karty Zachowania.

  2. W polu Ustawienia uwierzytelniania wyszukaj i wybierz rekord uwierzytelnienia rozmowy.

Kiedy zalogowany klient portalu otwiera widget rozmowy, funkcja klienta JavaScript przekazuje JWT z klienta na serwer. JWT jest odszyfrowywane i weryfikowane przy użyciu klucza publicznego, a informacje są następnie przekazywane do przedstawiciela czatu w usłudze Dynamics 365 Contact Center. Jako administrator możesz również przekazać dodatkowe informacje o zalogowanym kliencie w JWT, definiując zmienne kontekstu niestandardowego. Zmienne kontekstu muszą być zdefiniowane dokładnie w taki sam sposób, w jaki są zdefiniowane w strumieniu pracy skojarzonym z widgetem Czat. Dowiedz się więcej zarządzaniu zmiennymi kontekstu.

Konfigurowanie portali Power Apps

Jeśli dodajesz uwierzytelnienie dla widgetu rozmowy w witrynie sieci Web opracowanej przy użyciu portali Power Apps, standardowo dostępne są adres URL klucza publicznego, funkcja klienta JavaScript. Musisz przesłać certyfikat niestandardowy, aby mieć prawidłowy adres URL klucza publicznego w portalach Power Apps.

  • Adres URL klucza publicznego: <portal_base_URL>/_services/auth/publickey
  • Funkcja klient JavaScript: auth.getAuthenticationToken

W przypadku gotowego portalu Power Apps funkcja klienta javascript zwraca token, który domyślnie ma odpowiednie uprawnienia do powiązania rekordu kontaktu z rozmową. Ten token zawiera roszczenie podrzędne z identyfikatorem kontaktu zalogowanego użytkownika. To podroszczenie zapewnia unikalny identyfikator dla wielokanałowego, który automatycznie identyfikuje i łączy rekord kontaktu z Twojego środowiska Dataverse. Dowiedz się więcej w tabeli w poniższej sekcji.

Konfiguracja dla portali niestandardowych

Jeśli dodasz funkcję uwierzytelnionego czatu do niestandardowej witryny internetowej, która nie została opracowana przy użyciu portali Power Apps, zespół programistów musi wykonać następujące czynności, zanim administrator będzie mógł skonfigurować uwierzytelniony czat:

  1. Generowanie pary kluczy publiczny/prywatny na serwerach uwierzytelniania. Klucze muszą być generowane przy użyciu algorytmu RSA256.

    Poniższy przykładowy kod służy do generowania par kluczy prywatnych lub publicznych.

    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. Utwórz punkt końcowy, który zwróci klucze publiczne. Serwery wielokanałowe używają kluczy publicznych do walidacji tokena JWT przekazanego w ramach autoryzacji żądania czatu. Adres URL tego punktu końcowego wprowadza się w aplikacji administratora podczas tworzenia rekordu ustawień uwierzytelniania.

    Punkt końcowy klucza publicznego będzie wyglądać podobnie do tego przykładu:

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

Jeśli jest konieczne użycie wielu kluczy publicznych, punkt końcowy klucza publicznego może zwrócić zestaw <kid, publickey>par kid. Pary kluczowych identyfikatorów muszą być unikatowe. Kid musi zostać przekazane w tokenie JWT w kroku 4. Jeśli używasz wielu kluczy, punkt końcowy klucza publicznego powinien zwrócić coś, co wygląda jak w poniższym przykładzie. Klucz publiczny jest zakodowany w standardzie base64.

 [
      { 
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
          "publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      },
 {
          "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
          "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
          "expiry": 1608495423
      } 
 ]
  1. Potrzebna będzie usługa generująca identyfikator JWT do wysłania na serwery aplikacji Obsługa wielokanałowa jako część rozpoczęcia rozmowy dla uwierzytelnionego użytkownika.

    a. Nagłówek JWT wygląda podobnie do poniższego przykładu.

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

    Jeśli używasz wielu kluczy publicznych, musisz przekazać identyfikator klucza. Nagłówek JWT wygląda podobnie do poniższego przykładu:

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

    b. Ładunek JWT powinien zawierać:

    • W wersji minimum, poniższe oświadczenia:

      Oświadczenie Definicja
      iss Wystawca tokenu.
      iat Data wystawienia tokenu w formacie liczbowym.
      exp Data ważności tego tokenu w formacie daty numerycznej.
      sub Temat oświadczenia.
      UWAGA: Zaleca się, aby przekazać identyfikator GUID kontaktu lub rekordu konta w Customer Service dla zalogowanego użytkownika. Ten identyfikator GUID będzie używany do identyfikowania i łączenia rekordu kontaktu z rozmową. Wyszukiwanie rekordów identyfikuje rekordy, które mają aktywny kod stanu dla kontaktów lub kont. Identyfikacja rekordu nie działa, jeśli używasz niestandardowych kodów stanu.
    • lwicontexts Zmienne kontekstowe do przekazania w ramach konwersacji, do celów routingu lub do wyświetlenia przedstawicielowi.
      Więcej informacji pod adresem:
      Zarządzaj kontekstem niestandardowym
      Metoda setAuthTokenProvider
      Automatycznie identyfikuj rekordy za pomocą zmiennych kontekstowych

    • Wszystkie inne dane, które chcesz przekazać.

    Twój ładunek powinien wyglądać podobnie do poniższego przykładu:

      { 
          "sub" : "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",  
          "lwicontexts" :"{\"msdyn_cartvalue\":\"10000\", \"msdyn_isvip\":\"false\", \"portalcontactid\":\"aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb\"}", 
          "iat" : 1542622071, 
          "iss" : "contosohelp.com", 
          "exp" : 1542625672, 
          "nbf" : 1542622072 
      } 
    

    c. Podpis JWT powinien być podpisany przez klucz prywatny użytkownika.

    Notatka

    • Jeśli token stracił ważność lub jest nieprawidłowy, widget czatu zgłosi błąd.
    • Metoda setContextProvider nie jest obsługiwana dla uwierzytelnionego czatu. Należy przekazać w lwicontext jako część ładunku JWT.
  2. Utwórz funkcję JavaScript na swojej stronie internetowej, która akceptuje funkcję zwrotną i zwraca JWT do funkcji zwrotnej. Aby uniknąć limitu czasu, ta funkcja JavaScript powinna zwrócić JWT w ciągu 10 sekund. Ten JWT musi spełniać następujące kryteria:

    • Musi on zawierać nagłówek, ładunek i podpis z kroku 3.

    • Zostanie podpisany przez klucz prywatny z pary kluczy w kroku 1.

      Zalecamy wygenerowanie JWT na serwerze sieci Web.

      Nazwa tej metody Języka JavaScript służy do tworzenia rekordu ustawień uwierzytelniania w aplikacji administracyjnej usługi Copilot Service.

      // 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. Programista musi udostępnić administratorowi obsługi wielokanałowej następujące informacje:

    a. Adres URL usługi klucza publicznego z kroku 2.

    Przykład: https://www.contoso.com/auth/publickey

    b. Nazwa funkcji klienta języka JavaScript w kroku 4. Widżet czatu na żywo wywołuje tę nazwę wewnętrznie podczas rozpoczynania czatu.

    Przykład: auth.getAuthenticationToken

    Notatka

    Jeśli środowisko użytkownika ukazuje przycisk Rozmowa przed uwierzytelnieniem użytkowników, upewnij się, że w razie potrzeby zostaną oni przekierowani na stronę uwierzytelniania. Przekierowanie można skonfigurować w metodzie w kroku 4 lub jako wcześniejszy krok w przepływie użytkownika.

    Poniższa ilustracja przedstawia konfigurację.

    Konfiguracja uwierzytelnionej rozmowy.

    Następnie można skonfigurować uwierzytelniony czat wykonując następujące kroki:

Skonfiguruj uwierzytelniony czat

  1. Przejdź do aplikacji administracyjnej i utwórz rekord ustawień uwierzytelniania z informacjami z kroku 5 poprzedniej sekcji. Więcej informacji można znaleźć na stronie Utwórz rekord ustawień uwierzytelniania dla czatu.

  2. Skojarz ustawienia uwierzytelniania z widget czatu, który zostanie uwierzytelniony. Więcej informacji: Dodaj uwierzytelnianie do widgetu czatu.

    Na poniższej ilustracji przedstawiono sekwencję wywołań, gdy użytkownik uzyskuje dostęp do czatu w uwierzytelnionej konfiguracji.

    Środowisko uruchomieniowe uwierzytelnionej rozmowy.

Tworzenie ustawień uwierzytelniania dla usługi Apple Messages for Business

Wymagania wstępne

  • Administratorzy, którzy konfigurują ustawienia uwierzytelniania, potrzebują więcej uprawnień zabezpieczeń. Więcej informacji: Ustawianie uprawnień zabezpieczeń dla pola.

  • Upewnij się, że Twoja organizacja posiada praktyczną wiedzę na temat przepływu OAuth 2.0 OpenID connect. Kroki zostały opisane w następnej sekcji.

  • Potwierdź, że organizacja ma co najmniej jedną Apple Messages for Business Wiadomość sformatowaną typu uwierzytelniania. Ta konfiguracja bogatej wiadomości jest wymagana do konfiguracji.

Utworzenie rekordu ustawień uwierzytelniania dla usługi Apple Messages for Business przy użyciu przepływu OAuth 2.0 OpenID connect

  1. Na mapie witryny Centrum administracyjnego usługi Copilot wybierz pozycję Ustawienia klienta, a następnie wybierz pozycję Zarządzaj ustawieniami uwierzytelniania. Zostanie wyświetlona lista istniejących ustawień uwierzytelniania.

  2. Wybierz nowe ustawienie uwierzytelniania i na stronie Dodawanie ustawienia uwierzytelniania podaj następujące informacje szczegółowe:

    1. Na stronie Typ kanału wprowadź nazwę, a następnie wybierz Apple Messages for Business jako typ kanału.

    2. Zmień typ uwierzytelniania Przepływ OAuth 2.0 OpenID Connect.

    3. Na stronie Dodawanie ustawienia uwierzytelniania podaj następujące informacje:

      • Identyfikator klienta: Identyfikator klienta OAuth 2.0 wydawany przez serwer autoryzacji.
      • Klucz tajny klienta: Klucz tajny klienta używany do uwierzytelniania żądań wysyłanych do serwera autoryzacji.
      • Zakres: każdy dodany zakres określa, które dane użytkownika zostały zażądane od klienta. Zawartość zakresu musi być dokładnie taka sama, jak dostępna za pośrednictwem usługodawcy.
      • Adres URL tokenu dostępu: punkt końcowy dostawcy usługi, dla którego można zażądać tokenu dostępu.
      • Adres URL odszyfrowanego tokenu: punkt końcowy, w którym OAuth 2.0 API może pobrać informacje o kliencie żądane w zakresie.
      • Dodatkowe parametry: umożliwia usługom uwierzytelniania korzystanie z dodatkowych parametrów z żądania.
    4. Na stronie Dodatkowe szczegóły można opcjonalnie zdefiniować czas utraty ważności tokenu dostępu określany w sekundach. Domyślny czas utraty ważności wynosi jedną godzinę.
      Po upływie określonego czasu pole Uwierzytelnione w sekcji Podsumowanie klienta uprzednio uwierzytelnionej konwersacji zmieni się na Nie.

    5. Na stronie Wiadomości bogate, wybierz pozycję Dodaj, a następnie wybierz co najmniej jedną wiadomość bogatą, która ma zostać skojarzona z tym ustawieniem uwierzytelniania.

    6. Przejrzyj stronę Podsumowanie, a następnie wybierz pozycję Dalej. Ustawienie uwierzytelniania zostało skonfigurowane.

    7. Na stronie Informacje o przekierowaniu skopiuj adres URL. Ten adres URL należy dodać do witryny internetowej dostawcy usług uwierzytelniania w obszarze Dozwolone adresy URL wywołania zwrotnego.

    8. Wybierz Zakończ.

Dodaj uwierzytelnianie do kanału Apple Messages for Business

  1. Otwórz strumień pracy zawierający wystąpienie kanału, dla którego chcesz dodać uwierzytelnianie.

  2. Na stronie Zachowania ustawień kanału przejdź do Ustawienia uwierzytelniania, włącz tę funkcję, a następnie wybierz odpowiednie ustawienie z menu rozwijanego. Więcej informacji: Konfigurowanie kanału Apple Messages for Business

  3. Aby przejrzeć lub zaktualizować ustawienia uwierzytelniania dla każdego wystąpienia kanału, wybierz pozycję Edytuj.

Dodawanie widgetu czatu
Konfigurowanie ankiety przed konwersacją
Utwórz szybkie odpowiedzi
Twórz godziny działania i zarządzaj nimi
Osadź widget rozmowy w portalach Power Apps
Automatyczne identyfikowanie klientów