Konfigurowanie ustawień uwierzytelniania
Aplikacja Obsługa wielokanałowa klientów 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 plików sieciOwych w celu obsługa klienta 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.
Uwaga
Dostępne informacje o funkcjach są następujące.
Wdrażanie rozwiązania Dynamics 365 Contact Center - osadzone | Administrowanie rozwiązaniem Dynamics 365 Contact Center - samodzielne | Rozwiązanie Dynamics 365 Customer Service |
---|---|---|
Tak | Tak | Tak |
Można utworzyć ustawienia uwierzytelniania, aby zweryfikować zalogowanego klienta z domeny i wyodrębnić informacje na podstawie zdefiniowanych zmiennych kontekstowych. 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 for Business
Aby wskazać, czy klient jest uwierzytelniony, agent otrzymuje powiadomienie w sekcji Podsumowanie konwersacji. Pole Uwierzytelnione jest ustawione na Tak lub Nie w zależności od stanu uwierzytelniania klienta. Dowiedz się więcej na stronie Podsumowanie konwersacji
Wymagania wstępne
- Upewnij się, że organizacja ma wiedzę roboczą w zakresie tokenów sieci Web JSON OAuth 2.0 (JWT).
- Sprawdź, czy masz uprawnienia do zabezpieczonych kolumn. Dowiedz się więcej na stronie Konfigurowanie uprawnień dostępu do bezpiecznych kolumn
Utwórz rekord ustawień uwierzytelniania dla czatu
Możesz utworzyć rekord ustawienia uwierzytelniania czatu w aplikacji administratora.
Na mapie witryny Centrum administracyjne rozwiązania Customer Service wybierz Ustawienia klientów w Obsługa klientów. Pojawi się strona Ustawienia klienta.
W sekcji Ustawienia uwierzytelniania wybierz Zarządzaj. Zostanie wyświetlona strona Ustawienia uwierzytelnienia.
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ń ją na wymaganą.
Typ uwierzytelniania: Domyślnie nie można edytować niejawnego przepływu OAuth 2.0.
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 zalogował się 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.
Dowiedz się więcej o tym, jak znaleźć adres URL klucza publicznego i funkcję klienta JavaScript w sekcjach Konfiguracja Power Apps portali lub Konfiguracja portali niestandardowych w dalszej części tego artykułu.
Wybierz pozycję Zapisz.
Tworzenie rekordu uwierzytelniania dla rozmowy przy użyciu programu OAuth 2.0
Wykonaj kroki od 1 do 3 w temacie Tworzenie rekordu ustawienia uwierzytelniania dla czatu i wprowadź następujące szczegóły na stronie Dodawanie ustawienia uwierzytelniania:
- Nazwa: nazwa ustawienia uwierzytelniania.
- Typ kanału: Czat na żywo.
- Typ uwierzytelniania: OAuth 2.0 implicit flow
Wybierz Dalej i na stronie Szczegóły wprowadź następujące informacje:
- Akcja niestandardowa tokenu: odwołanie do kodu niestandardowego w celu sprawdzenia poprawności tokenów dostarczonych przez dostawcę tożsamości i zwrócenia identyfikatora użytkownika uwierzytelnionego użytkownika.
- Adres URL tokena: adres URL używany do wymiany kodu autoryzacji na token przekazany do akcji niestandardowej w celu uzyskania identyfikatora użytkownika.
- Adres URL przekierowania: adres URL przekazany do oryginalnego żądania kodu autoryzacji, który jest wymaganym parametrem w wywołaniach punktu końcowego wymiany tokenów.
- Identyfikator klienta: identyfikator klienta przekazany do punktu końcowego wymiany tokenów.
- Klucz tajny klienta: klucz tajny, który uwierzytelnia klienta przekazanego do punktu końcowego wymiany tokenów.
- Zakres: zakresy, dla których użytkownik jest autoryzowany przez token otrzymany w przepływie.
Zapisz zmiany.
Dodawanie uwierzytelniania do widgetu rozmowa
W Centrum administracyjne rozwiązania Customer Service edytuj widget czatu w ustawieniach strumienia pracy, a następnie przejdź do karty Zachowania .
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 odszyfrowywany i weryfikowany przy użyciu klucza publicznego, a informacje są następnie przekazywane do agenta czatu w Obsługa wielokanałowa dla Customer Service. Jako administrator możesz również przekazać dodatkowe informacje o zalogowanym kliencie w JWT, definiując zmienne kontekstu niestandardowego. Zmienne kontekstowe muszą być zdefiniowane dokładnie tak, jak znajdują się w strumieniu pracy powiązanym z widgetem czatu. Więcej informacji znajdziesz w temacie Zarządzanie zmiennymi kontekstowymi
Konfigurowanie portali Power Apps
Jeśli dodasz uwierzytelnianie dla widgetu czatu na stronie internetowej utworzonej przy użyciu Power Apps portali, adres URL klucza publicznego i funkcja klienta JavaScript są dostępne od razu. Aby mieć prawidłowy adres URL klucza publicznego w portalach, należy przekazać certyfikat Power Apps niestandardowy.
-
Adres URL klucza publicznego:
<portal_base_URL>/_services/auth/publickey
-
Funkcja klient JavaScript:
auth.getAuthenticationToken
Portal Power Apps próbuje automatycznie połączyć rekord kontaktu z konwersacją za pośrednictwem kontekstu przekazanego w funkcji klienta JavaScript.
Konfiguracja dla portali niestandardowych
Jeśli dodasz uwierzytelnione środowisko czatu do niestandardowej witryny internetowej, która nie jest tworzona przy użyciu Power Apps portali, Twój zespół programistów internetowych musi wykonać następujące kroki, zanim administrator będzie mógł skonfigurować uwierzytelniony czat:
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
Utwórz punkt końcowy, który zwraca klucze publiczne. Serwery obsługi wielokanałowej używają kluczy publicznych do sprawdzania poprawności tokenu JWT przekazanego w ramach autoryzacji żądania czatu. Adres URL tego punktu końcowego należy wprowadzić do aplikacji administracyjnej podczas tworzenia rekordu ustawień uwierzytelniania.
Punkt końcowy klucza publicznego 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. Dziecko 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 formacie base64.
[
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
"publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
},
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
"publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
}
]
Potrzebna jest usługa, która generuje JWT do wysłania do serwerów obsługi wielokanałowej w ramach rozpoczynania czatu 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 (kid). Nagłówek wygląda podobnie do poniższego przykładu:
{ "alg": "RS256", "typ": "JWT", "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=" }
b. Ładunek JWT powinien zawierać:
Co najmniej następujące roszczenia:
Oświadczenie Definicja iss Wystawca tokenu. iat Data wystosowywiona przez token w formacie liczbowym. exp Data ważności tego tokenu w formacie daty numerycznej. sub Temat oświadczenia.
UWAGA: Zaleca się przekazanie identyfikatora GUID rekordu kontaktu lub konta w obsłudze klienta dla zalogowanego użytkownika. Ten identyfikator GUID służy do identyfikowania i połączenia rekordu kontaktu z konwersacją. Wyszukiwanie rekordów identyfikuje rekordy, które mają aktywny kod stanu dla kontaktów lub klientów. Identyfikacja rekordów nie działa, jeśli używasz niestandardowych kodów stanu.lwicontexts Zmienne kontekstowe do przekazania w ramach rozmowy, do celów rozsyłania lub wyświetlania agentowi.
Dowiedz się więcej na stronie
Zarządzaj kontekstem niestandardowym
Metoda setAuthTokenProvider
Automatycznie identyfikuj rekordy za pomocą zmiennych kontekstowychWszystkie inne dane, które chcesz przekazać.
Ładunek powinien wyglądać podobnie do poniższego przykładu:
{ "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. Podpis JWT powinien być podpisany przez klucz prywatny użytkownika.
Uwaga
- Jeśli token wygasł lub jest nieprawidłowy, widget czatu zgłasza zdarzenie błędu.
- Metoda setContextProvider nie jest obsługiwana w przypadku uwierzytelnionego czatu. Należy przekazać w lwicontext jako część ładunku JWT.
Utwórz funkcję JavaScript w swojej witrynie, która akceptuje funkcję wywołania zwrotnego i zwraca JWT do funkcji wywołania zwrotnego. 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 zawierać nagłówek, ładunek i podpis z kroku 3.
Musi być podpisany kluczem prywatnym z pary kluczy w kroku 1.
Zalecamy wygenerowanie JWT na serwerze sieci Web.
Nazwa tej metody JavaScript jest używana do tworzenia rekordu ustawień uwierzytelniania w aplikacji administracyjnej obsługa klienta.
// 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(); }
Programista musi udostępnić Obsługa wielokanałowa Administrator 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. Widget czatu na żywo wywołuje tę nazwę wewnętrznie podczas rozpoczęcia czatu.
Przykład: auth.getAuthenticationToken
Uwaga
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ę.
Następnie można skonfigurować uwierzytelniony czat wykonując następujące kroki:
Skonfiguruj uwierzytelniony czat
Przejdź do aplikacji administratora i utwórz rekord ustawień uwierzytelniania z informacjami z kroku 5 poprzedniej sekcji. Więcej informacji można znaleźć w artykule Tworzenie rekordu ustawienia uwierzytelniania dla czatu
Powiąż ustawienia uwierzytelniania z widgetem czatu, który ma uwierzytelnione środowisko. Dowiedz się więcej na stronie Dodawanie uwierzytelniania do widgetu czatu
Na poniższej ilustracji przedstawiono sekwencję wywołań, gdy użytkownik uzyskuje dostęp do czatu w uwierzytelnionej konfiguracji.
Tworzenie ustawień uwierzytelniania dla Apple Messages for Business
Wymagania wstępne
Administratorzy, którzy konfigurują ustawienia uwierzytelniania, potrzebują więcej uprawnień zabezpieczeń. Więcej informacji można znaleźć w temacie Konfigurowanie uprawnień zabezpieczeń dla pola
Upewnij się, że Twoja organizacja ma praktyczną wiedzę na temat przepływu połączenia OpenID OAuth 2.0. 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 wiadomości sformatowanych jest wymagana do instalacji.
Tworzenie rekordu ustawienia uwierzytelniania dla Apple Messages for Business przy użyciu przepływu OAuth 2.0 OpenID Connect
Na mapie witryny Centrum administracyjnego rozwiązania Customer Service wybierz Ustawienia klienta, a następnie wybierz Zarządzaj dla Ustawienia uwierzytelniania. Zostanie wyświetlona lista istniejących ustawień uwierzytelniania.
Wybierz nowe ustawienie uwierzytelniania i na stronie Dodawanie ustawienia uwierzytelniania podaj następujące informacje szczegółowe:
Na stronie Typ kanału wprowadź nazwę, a następnie wybierz Apple Messages for Business typ kanału.
Zmień typ uwierzytelniania Przepływ OAuth 2.0 OpenID Connect.
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 interfejs API OAuth 2.0 może pobrać informacje o kliencie żądane w zakresie.
- Dodatkowe parametry: umożliwia usługom uwierzytelniania korzystanie z dodatkowych parametrów z żądania.
-
Identyfikator klienta: Identyfikator klienta OAuth 2.0 wydawany przez serwer autoryzacji.
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 wcześniej uwierzytelnionej konwersacji zmieni się na Nie.Na stronie Wiadomości sformatowane wybierz pozycję Dodaj, a następnie wybierz co najmniej jedną wiadomość sformatowaną, którą chcesz skojarzyć z tym ustawieniem uwierzytelniania.
Przejrzyj stronę Podsumowanie, a następnie wybierz pozycję Dalej. Ustawienie uwierzytelniania zostało skonfigurowane.
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.
Wybierz Zakończ.
Dodaj uwierzytelnianie do kanału Apple Messages for Business
Otwórz strumień pracy zawierający wystąpienie kanału, dla którego chcesz dodać uwierzytelnianie.
Na stronie Zachowania w ustawieniach kanału przejdź do pozycji Ustawienia uwierzytelniania, włącz tę funkcję, a następnie wybierz odpowiednie ustawienie z menu rozwijanego. Więcej informacji znajdziesz na stronie Konfigurowanie Apple Messages for Business kanału
Aby przejrzeć lub zaktualizować ustawienia uwierzytelniania dla każdego wystąpienia kanału, wybierz pozycję Edytuj.
Informacje pokrewne
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