Configurare impostazioni di autenticazione
Multicanale per Customer Service offre una suite di funzionalità che estendono le funzionalità avanzate di Dynamics 365 Customer Service Enterprise per consentire alle organizzazioni di connettersi e interagire immediatamente con i clienti attraverso i canali di messaggistica digitale. È necessaria una licenza aggiuntiva per accedere a Multicanale per Customer Service. Per altre informazioni, vedere le pagine Panoramica dei prezzi di Dynamics 365 Customer Service e Piano tariffario di Dynamics 365 Customer Service.
Nota
Le informazioni sulla disponibilità delle funzionalità è come segue.
Dynamics 365 Contact Center: integrata | Dynamics 365 Contact Center: standalone | Dynamics 365 Customer Service |
---|---|---|
Sì | Sì | Sì |
È possibile creare impostazioni di autenticazione per convalidare un cliente che ha effettuato l'accesso da un dominio ed estrarre informazioni in base alle variabili di contesto definite. È possibile differenziare i clienti anonimi da quelli autenticati nonché creare regole in base alle variabili di contesto.
Ad esempio, puoi avere code distinte per i clienti anonimi e per quelli autenticati. Poiché disponi di maggiori informazioni sui clienti autenticati, puoi anche assegnargli una priorità in base a specifiche variabili, ad esempio il valore del carrello della spesa o uno stato privilegiato.
Dopo avere creato un record di impostazioni di autenticazione, devi aggiungerlo a un'istanza del canale all'interno dell'impostazione del canale di un flusso di lavoro per farlo funzionare. L'autenticazione è supportata per questi canali:
- Chat
- Apple Messages for Business
Per indicare se un cliente è autenticato, l'agente riceve una notifica nella sezione Riepilogo conversazione . Il campo Autenticato è impostato su Sì o No in base allo stato di autenticazione del cliente. Scopri di più su Riepilogo della conversazione
Prerequisiti
- Assicurati che l'organizzazione abbia una conoscenza pratica di OAuth 2.0 e JSON Web Tokens (JWT).
- Verifica di disporre delle autorizzazioni per le colonne sicure. Scopri di più su Configura le autorizzazioni per accedere alle colonne protette
Creare un record di impostazioni di autenticazione per la chat
Puoi creare un record di impostazione dell'autenticazione chat nell'app di amministrazione.
Nella mappa del sito di Interfaccia di amministrazione di Customer Service, seleziona Impostazioni cliente seleziona Supporto tecnico. Viene visualizzata la pagina Impostazioni cliente.
Nella sezione Impostazioni autenticazione, seleziona Gestisci. Viene visualizzata la pagina Impostazioni autenticazione.
Seleziona Nuove impostazioni di autenticazione, quindi fornire le seguenti informazioni nella pagina Aggiungi impostazione di autenticazione :
Nome: immetti un nome per l'impostazione autenticata.
Proprietario: Accetta il valore predefinito o modificalo con un valore richiesto.
Tipo di autenticazione: Per impostazione predefinita, il flusso implicito OAuth 2.0 non può essere modificato.
URL chiave pubblica: specifica l'URL della chiave pubblica del dominio. Questo URL viene utilizzato per convalidare le informazioni provenienti dal JavaScript Object Notation (JSON) Web Token (JWT) del dominio a cui un cliente ha effettuato l'accesso.
Funzione client JavaScript: specifica la funzione client JavaScript da utilizzare per l'autenticazione. Questa funzione estrae l'endpoint token.
Per ulteriori informazioni su come trovare l'URL della chiave pubblica e la funzione client JavaScript, consulta le sezioni Configurazione per Power Apps portali o Configurazione per portali personalizzati più avanti in questo articolo.
Seleziona Salva.
Creare un record di impostazione dell'autenticazione per la chat usando OAuth 2.0
Eseguire i passaggi da 1 a 3 in Creare un record di impostazione di autenticazione per la chat e immettere i seguenti dettagli nella pagina Aggiungi impostazione di autenticazione :
- Nome: un nome per l'impostazione di autenticazione.
- Tipo di canale: Live chat.
- Tipo di autenticazione: flusso implicito OAuth 2.0
Seleziona Avanti e nella pagina Dettagli, immetti le seguenti informazioni:
- Azione personalizzata token: il riferimento al codice personalizzato per convalidare i token forniti dal provider di identità e restituire l'ID utente dell'utente autenticato.
- URL token: URL utilizzato per scambiare il codice di autorizzazione con il token passato all'azione personalizzata per acquisire l'ID utente.
- URL di reindirizzamento: URL passato alla richiesta del codice di autorizzazione originale, che è un parametro obbligatorio nelle chiamate allo scambio di token endpoint.
- ID client: ID del client passato allo scambio di token endpoint.
- Segreto client: il segreto che autentica il client passato allo scambio di token endpoint.
- Ambito: gli ambiti per i quali l'utente è autorizzato dal token acquisito nel flusso.
Salva le modifiche.
Aggiungere l'autenticazione al widget chat
In Interfaccia di amministrazione di Customer Service, modifica widget chat nelle impostazioni del flusso di lavoro, quindi vai alla scheda Comportamenti .
Nella casella Impostazioni di autenticazione, individua e seleziona il record dell'autenticazione chat.
Quando un cliente connesso a un portale apre il widget chat, la funzione client JavaScript passa il JWT dal client al server. Il JWT viene decriptato e convalidato utilizzando la chiave pubblica e le informazioni vengono quindi trasmesse all'agente di chat in Multicanale per Customer Service. In qualità di amministratore, puoi anche passare ulteriori informazioni sul cliente connesso nel JWT definendo variabili di contesto personalizzate. Le variabili di contesto devono essere definite esattamente come sono nel flusso di lavoro associato a widget chat. Scopri di più su Gestisci variabili di contesto
Configurazione per portali Power Apps
Se si aggiunge l'autenticazione per un widget chat su un sito Web sviluppato utilizzando i portali, l'URL della chiave pubblica e la funzione client JavaScript saranno disponibili immediatamente. Power Apps È necessario caricare un certificato personalizzato per avere un URL di chiave pubblica valido sui Power Apps portali.
-
URL chiave pubblica:
<portal_base_URL>/_services/auth/publickey
-
Funzione client JavaScript:
auth.getAuthenticationToken
Il Power Apps portale tenta di collegare aggiungere automaticamente un record di contatto alla conversazione tramite il contesto passato nella sua funzione client JavaScript.
Configurazione per portali personalizzati
Se aggiungi un'esperienza di chat autenticata a un sito Web personalizzato che non è sviluppato tramite portali, il tuo team di sviluppo Web deve eseguire i seguenti passaggi prima che amministratore possa configurare la chat autenticata: Power Apps
Genera una coppia di chiavi pubblica/privata nei relativi server di autenticazione. Le chiavi devono essere generate utilizzando l'algoritmo RSA256.
Il seguente codice di esempio serve a generare coppie di chiavi private o pubbliche.
openssl genpkey -algorithm RSA -out private_key.pem -pkeyopt rsa_keygen_bits:2048 openssl rsa -pubout -in private_key.pem -out public_key.pem
Crea un endpoint che restituisca le tue chiavi pubbliche. I server Multicanale utilizzano le chiavi pubbliche per convalidare il token JWT passato come parte dell'autorizzazione della richiesta di chat. Inserisci l'URL di questo endpoint nell'app di amministrazione quando crei un record di impostazioni di autenticazione.
La tua chiave pubblica endpoint è simile a questo esempio:
-----BEGIN PUBLIC KEY----- NIIBIjANBgkqhkiG9w0BAQEFABCOPQ8AMIIBCgKCAQEAn+BjbrY5yhSpLjcV3seP mNvAvtQ/zLwkjCbpc8c0xVUOzEdH8tq4fPi/X5P/Uf2CJomWjdOf1wffmOZjFasx ELG+poTqy5uX2dNhH6lOMUsV31QGG36skLivpLBCSK6lWlzsV6WGkb/m8r86aGzp jtNhw8yvoTYB4updDrJ8pC+tx4EWK0WEmKn1GsW6TjUtxJjcTLI1puSbmcGHbkSi RSbWkKPqaEVFALprw+W5ZCung5QX3KOkY/rJd+2JwULm7okyQCQaF7qwa5i9Uf65 7M6ZL4vsDevq7E/v3tf6qxpSSHzt4XspXVQty9QHhqDqBEY3PfI4L2JjgIGuPhfS YQIDAQAB -----END PUBLIC KEY-----
Se devi utilizzare più chiavi pubbliche, l'endpoint della tua chiave pubblica può restituire un set di <kid, publickey>
coppie, in cui kid
fa riferimento all'ID chiave. Le coppie di ID chiave devono essere univoche. Al bambino deve essere passato il token JWT in passaggio 4. Se utilizzi più chiavi, la tua chiave pubblica endpoint dovrebbe restituire qualcosa di simile al seguente esempio. La chiave pubblica è codificata in base64.
[
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
"publicKey": LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
},
{
"kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
"publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
"expiry": 1608495423
}
]
È necessario un servizio che generi il JWT da inviare ai server di Multicanale come parte dell'avvio di una chat per un utente autenticato.
a. L'intestazione JWT è simile all'esempio seguente.
{ "alg": "RS256", "typ": "JWT", }
Se si utilizzano più chiavi pubbliche, è necessario passare l'ID della chiave (kid). L'intestazione è simile al seguente esempio:
{ "alg": "RS256", "typ": "JWT", "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=" }
b. Il payload del token JWT deve includere:
Come minimo, le seguenti affermazioni:
Richiesta di rimborso Definizione iss L'autorità emittente del token. iat La data di emissione del token, in formato data numerico. exp La data di scadenza del token, in formato data numerico. secondario Oggetto dell'attestazione.
NOTA: Si consiglia di passare il GUID del record del contatto o dell'account in servizio clienti per l'utente che ha effettuato l'accesso. Questo GUID viene utilizzato per identificare e collegare il record del contatto nella conversazione. La ricerca dei record identifica i record che hanno il codice di stato attivo per contatti o account. L'identificazione dei record non funziona se si utilizzano codici di stato personalizzati.lwicontexts Le variabili di contesto da passare come parte della conversazione, sia per scopi di instradamento che da mostrare all'agente.
Altre informazioni su
Gestire contesto personalizzato
Metodo setAuthTokenProvider
Identificare i record automaticamente utilizzando le variabili di contestoQualsiasi altro dato che desideri trasmettere.
Il tuo payload dovrebbe essere simile al seguente esempio:
{ "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. La firma del token JWT dovrebbe essere firmata dalla tua chiave privata.
Nota
- Se il token è scaduto o non è valido, widget chat genera un evento di errore.
- Il metodo setContextProvider non è supportato per la chat autenticata. Dovresti passare i lwicontext come parte del payload del token JWT.
Crea una funzione JavaScript sul tuo sito web che accetti una funzione di callback e restituisca un JWT alla funzione di callback. Per evitare il timeout, questa funzione JavaScript dovrebbe restituire un JWT entro 10 secondi. Questo JWT deve soddisfare i seguenti criteri:
Deve contenere l'intestazione, il payload e la firma di passaggio 3.
Deve essere firmato con la chiave privata della coppia di chiavi in passaggio 1.
Ti consigliamo di generare il token JWT nel server Web.
Il nome di questo metodo JavaScript viene utilizzato per creare il record delle impostazioni di autenticazione nell'app di amministrazione servizio clienti.
// 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(); }
Il tuo sviluppatore deve Condividi le seguenti informazioni con il tuo Multicanale amministratore:
a. L'URL del servizio della chiave pubblica del passaggio 2.
Esempio: https://www.contoso.com/auth/publickey
b. Il nome della funzione del client JavaScript del passaggio 4. Il live widget chat chiama questo nome internamente durante l'inizio di una chat.
Esempio: auth.getAuthenticationToken
Nota
Se la tua esperienza utente espone il pulsante di chat prima che gli utenti siano autenticati, assicurati di reindirizzarli alla tua pagina di autenticazione come necessario. Puoi impostare il reindirizzamento nel metodo in passaggio 4, oppure come un precedente passaggio nel tuo flusso utente.
Nella figura seguente viene illustrata la configurazione.
Quindi, puoi configurare una chat autenticata seguendo questi passaggi:
Configurare la chat autenticata
Vai all'app di amministrazione e crea un record di impostazioni di autenticazione con le informazioni da passaggio 5 della sezione precedente. Scopri di più su Crea un record di impostazione di autenticazione per la chat
Associa le impostazioni di autenticazione all'widget chat che ha un'esperienza autenticata. Scopri di più su Aggiungi autenticazione a widget chat
L'illustrazione seguente illustra la sequenza delle chiamate quando un utente accede alla chat in una configurazione autenticata:
Creare impostazioni di autenticazione per Apple Messages for Business
Prerequisiti
Gli amministratori che configurano le impostazioni di autenticazione necessitano di maggiori autorizzazioni di sicurezza. Scopri di più su Impostare le autorizzazioni di sicurezza per un campo
Assicurati che la tua organizzazione abbia una conoscenza pratica del flusso OAuth 2.0 OpenID Connetti. I passaggi sono descritti nella sezione successiva.
Conferma che la tua organizzazione abbia almeno un Messaggio RTF di tipo di autenticazione Apple Messages for Business. Per l'installazione è richiesta questa configurazione avanzata dei messaggi.
Crea un record delle impostazioni di autenticazione per Apple Messages for Business utilizzando Oauth 2.0 OpenID connect flow
Nella mappa del sito di Interfaccia di amministrazione di Customer Service, seleziona Impostazioni cliente,quindi seleziona Gestisci per Impostazioni di autenticazione. Viene visualizzato un elenco delle impostazioni di autenticazione esistenti.
Seleziona Nuova impostazione di autenticazione e nella pagina Aggiungi impostazione di autenticazione, fornisci i seguenti dettagli:
Nella pagina Tipo di canale , inserisci un nome, quindi Seleziona Apple Messages for Business come tipo di canale.
Cambia il tipo di autenticazione in Flusso di connessione Oauth 2.0 OpenID.
Nella pagina Aggiungi impostazione di autenticazione, immetti le informazioni seguenti:
-
ID client: Identificatore client OAuth 2.0 rilasciato da un server di autorizzazione.
-
Segreto client: Segreto client utilizzato per autenticare le richieste inviate a un server di autorizzazione.
-
Ambito: Ogni ambito aggiunto specifica quali dati utente hai richiesto al cliente. Il contenuto dell'ambito deve corrispondere esattamente quelli disponibili tramite il provider di servizi.
- Token di accesso URL: endpoint del fornitore di servizi dove è possibile richiedere un token di accesso.
-
URL del token decrittografato: endpoint dove l'API OAuth 2.0 può recuperare le informazioni sul cliente richieste nell'ambito.
- Parametri aggiuntivi: consente ai servizi di autenticazione di prendere parametri aggiuntivi dalla richiesta.
-
ID client: Identificatore client OAuth 2.0 rilasciato da un server di autorizzazione.
Sulla pagina Dettagli aggiuntivi puoi opzionalmente definire un tempo di scadenza del token di accesso, in secondi. Il tempo di scadenza predefinito è un'ora.
Dopo il tempo specificato, il campo Autenticato nella sezione Riepilogo cliente di una conversazione precedentemente autenticata cambia in No.Nella pagina Messaggi avanzati , Seleziona Aggiungi, quindi Seleziona uno o più messaggi avanzati da associare a questa impostazione di autenticazione.
Esamina la pagina Riepilogo e quindi seleziona Avanti. L'impostazione di autenticazione è configurata.
Nella pagina Informazioni sul reindirizzamento, copia l'URL. Aggiungere questo URL al sito web del fornitore del servizio di autenticazione tra gli URL di callback consentiti.
Selezionare Fine.
Aggiungere l'autenticazione a un canale Apple Messages for Business
Aprire il flusso di lavoro che contiene l'istanza del canale per la quale si desidera aggiungere l'autenticazione.
Nella pagina Comportamenti delle impostazioni del canale, vai a Impostazioni di autenticazione, abilita la funzionalità, quindi Seleziona seleziona l'impostazione corretta dal menu a discesa. Scopri di più su Configura un Apple Messages for Business canale
Per rivedere o aggiornare le impostazioni di autenticazione per ogni istanza del canale, Seleziona Modifica.
Informazioni correlate
Aggiungere un widget chat
Configurare un sondaggio pre-conversazione
Crea risposte rapide
Creare e gestire ore di attività
Incorporare il widget chat nel portale Power Apps
Identificare automaticamente i clienti