Configurare impostazioni di autenticazione

Omnichannel for Customer Service offre una suite di funzionalità che estendono la potenza di Dynamics 365 Customer Insights - Journeys Enterprise per consentire alle organizzazioni di connettersi e interagire immediatamente con i propri clienti attraverso canali di messaggistica digitale. È necessaria una licenza aggiuntiva per accedere a Multicanale per Customer Service. Per ulteriori informazioni, vedere la panoramica dei prezzi di Dynamics 365 Customer Insights - Journeys e il piano tariffario di Dynamics 365 Customer Insights - Journeys.

Si applica a: Dynamics 365 Commerce - integrato, Dynamics 365 Commerce - standalone e Dynamics 365 Customer Insights - Journeys

Puoi creare impostazioni di autenticazione per convalidare un cliente connesso 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 aver creato un record delle impostazioni di autenticazione, è necessario aggiungerlo a un'istanza del canale in un flusso di lavoro per renderlo funzionante. L'autenticazione è supportata per questi canali:

  • Chat
  • Apple Messaggi per le aziende

Per indicare se un cliente è autenticato, il rappresentante del servizio clienti (rappresentante del servizio o rappresentante) riceve una notifica nella sezione Riepilogo conversazione. Il campo Autenticato è impostato su Sì o su No in base allo stato di autenticazione del cliente. Altre informazioni in Riepilogo della conversazione.

Autenticazione a confronto con l'identificazione del cliente

L'autenticazione e l'identificazione del cliente sono capacità diverse:

  • L'autenticazione verifica chi è il cliente. Il cliente accede al tuo sito web o portale, e il tuo sito passa un JSON Web Token (JWT) firmato al widget di chat. Il sistema valida il token con la chiave pubblica che specifichi nel record dell'impostazione dell'autenticazione.
  • L'identificazione del cliente utilizza le informazioni inserite dal cliente, come nome, indirizzo email o numero di telefono in un sondaggio pre-conversazione, per trovare e collegare un contatto o un record account corrispondente. L'identificazione non autentica il cliente. Scopri di più in Identifica automaticamente i clienti.

Prerequisiti

Creare un record di impostazioni di autenticazione per la chat

È possibile creare un record delle impostazioni di autenticazione della chat nell'interfaccia di amministrazione del servizio Copilot.

  1. Nella mappa del sito del centro di amministrazione di Copilot Service, vai a Assistenza clienti>Impostazioni cliente. Viene visualizzata la pagina Impostazioni cliente.

  2. Nella sezione Impostazioni autenticazione, seleziona Gestisci. Viene visualizzata la pagina Impostazioni autenticazione.

  3. Seleziona Nuove impostazioni di autenticazione, quindi fornisci le informazioni seguenti nella pagina Aggiungi impostazione di autenticazione:

    • Nome: immetti un nome per l'impostazione autenticata.

    • Proprietario: accetta il valore predefinito o convertilo in un valore obbligatorio.

    • Tipo di autenticazione: per impostazione predefinita, OAuth 2.0 non può essere modificato.

    • URL chiave pubblica: specifica l'URL della chiave pubblica del dominio. Questo URL viene utilizzato per validare le informazioni che arrivano dal JWT del dominio a cui il cliente ha effettuato l'accesso.

    • Funzione client Javascript: Specificare la funzione client JavaScript da utilizzare per l'autenticazione. Questa funzione estrae l'endpoint token.

      Configura il record dell'impostazione di autenticazione della chat.

    Scopri di più su come trovare l'URL della chiave pubblica e la funzione client JavaScript in Setup for Power Apps portals o Setup for custom portals più avanti in questo articolo.

  4. Seleziona Salva.

Aggiungere l'autenticazione al widget chat

  1. Nell'interfaccia di amministrazione del servizio Copilot modificare il widget di chat nelle impostazioni del flusso di lavoro e quindi passare alla scheda Comportamenti .

  2. 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 server valida la firma JWT con la chiave pubblica e poi trasmette le informazioni al rappresentante della chat nel Dynamics 365 Commerce. Come amministratore, puoi anche trasmettere più informazioni sul cliente loggato nel JWT definendo variabili di contesto personalizzate. Devi definire le variabili di contesto esattamente come sono nel flusso di lavoro associato al widget di chat. Altre informazioni in Gestire le variabili di contesto.

Configurazione per i portali di Power Apps

Se aggiungi l'autenticazione per un widget di chat su un sito web che hai sviluppato usando i portali Power Apps, ottieni l'URL della chiave pubblica e la funzione client JavaScript. È necessario upload di un certificato personalizzato per avere un URL di chiave pubblica valido nei portali di Power Apps.

  • URL chiave pubblica: <portal_base_URL>/_services/auth/publickey
  • Funzione client Javascript: auth.getAuthenticationToken

Per un portale Power Apps pronto all'uso, la funzione client JavaScript restituisce un token che di default ha il claim corretto per collegare un record di contatto alla conversazione. Questo token contiene il claim sub con l'ID di contatto dell'utente che ha effettuato l'accesso. L'attestazione sub fornisce un identificatore univoco che il sistema utilizza per identificare e collegare automaticamente il record del contatto dal tuo ambiente Dataverse. Scopri di più sub sull'attestazione nel passaggio 3 di Configurazione dei portali personalizzati.

Configurazione per portali personalizzati

Se si aggiunge un'esperienza di chat autenticata a un sito Web personalizzato non sviluppato usando i portali di Power Apps, il team di sviluppo Web deve eseguire i passaggi seguenti prima che l'amministratore possa configurare la chat autenticata:

  1. 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 genera una coppia di chiavi private e 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
    
  2. Crea un endpoint che restituisce le chiavi pubbliche. Il sistema utilizza le chiavi pubbliche per convalidare il JWT passato come parte dell'autorizzazione della richiesta di chat. Inserisci l'URL di questo endpoint nell'app admin quando crei un record di impostazione autenticazione.

    L'endpoint della tua chiave pubblica è 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. Passa kid nell'intestazione JWT nel passaggio 3. Se utilizzi più chiavi, l'endpoint della tua chiave pubblica dovrebbe restituire un elemento simile all'esempio seguente. La chiave pubblica è con codifica Base64.

    [
        { 
            "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp4in7hu4=",
            "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
            "expiry": 1608495423
        },
    {
            "kid": "qWO4EaKT1xRO7JC/oqALz6DCVr41B/qL0Hqp__valid=",
            "publicKey": "LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0NCk1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBbjFLdXhtSEh3V3hjelZSWGRBVmMNCnBEaFZwa0FnYklhTGZBUWc1bFpvemZqc29vcWRGWkl0VlFMdmRERWFVeDNqTytrTkxZM0JFRnBYVDZTN3ZNZCsNCnZoM2hpMDNsQ1dINnNCTWtaSWtuUUliMnFpekFsT0diU2EvK3JrUElnYnpXQjRpT1QyWVhyOVB4bXR5d2o4WUINCnYram55VU5DSzMyZy9FYWsvM0k3YW1vZ2pJY0JISjNFTjVuQWJBMExVVnJwMW5DODJmeEVPOHNJTzNYdjlWNVUNCnc5QnVTVVFRSmtMejNQYVI5WTdRZUEyNW5LUGtqTXZ2Y0UxVU5oeVpIYlNLbmorSitkZmFjb1hsSGtyMEdGTXYNCldkSDZqR0pWcGNQMHBkNjFOa3JKa2c0aStheThwS2ZqdjNUOHN3NWdaVHFweFFaaitVRWxqaVM0SHRPTlhkNlENCnZRSURBUUFCDQotLS0tLUVORCBQVUJMSUMgS0VZLS0tLS0NCg==",
            "expiry": 1608495423
        } 
    ]
    
  3. Serve un servizio che generi il JWT da inviare al sistema come parte dell'avvio di una chat per un utente autenticato.

    a. L'intestazione JWT appare simile all'esempio seguente.

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

    Se utilizzi più chiavi pubbliche, dovrai passare l'ID chiave (kid). L'intestazione appare simile all'esempio seguente:

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

    b. Il payload del token JWT deve includere:

    • Almeno le seguenti attestazioni:

      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.
      sottodominio Oggetto dell'attestazione.
      NOTA: è consigliabile passare il GUID del record del contatto o dell'account in Customer Service per l'utente connesso. Questo GUID viene utilizzato per identificare e collegare il record del contatto alla conversazione. La ricerca dei record identifica i record che hanno il codice di stato attivo per i contatti o gli 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 al rappresentante.
      Per saperne di più in
      Gestire contesto personalizzato
      Metodo setAuthTokenProvider
      Identificare i record automaticamente utilizzando le variabili di contesto

    • Qualsiasi altro dato che desideri trasmettere.

    Il payload dovrebbe avere l'aspetto seguente:

      { 
          "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. La firma del token JWT dovrebbe essere firmata dalla tua chiave privata.

    Note

    • Se il token è scaduto o non è valido, il widget della chat genera un evento di errore.
    • Il metodo setContextProvider non è supportato per chat autenticate. Passa il tuo lwicontexts come parte del payload JWT.
  4. Crea una funzione JavaScript sul tuo sito Web che accetta una funzione di callback e restituisce un token JWT alla funzione di callback. Per evitare un timeout, questa funzione JavaScript dovrebbe restituire un JWT entro 10 secondi. Questo token JWT deve soddisfare i criteri seguenti:

    • Deve contenere l'intestazione, il payload e la firma del passaggio 3.

    • Deve essere firmato dalla chiave privata della coppia di chiavi creata nel passaggio 1.

      Ti consigliamo di generare il token JWT nel server Web.

Il seguente metodo JavaScript recupera un token di autenticazione per il record delle impostazioni di autenticazione nel centro di amministrazione del servizio Copilot.

// 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();
};
  1. Il tuo sviluppatore deve condividere le seguenti informazioni con il tuo amministratore:

    a. L'URL del servizio chiavi pubbliche della fase 2.

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

    b. Il nome della funzione del client JavaScript del passaggio 4. Il widget chat live chiama questo nome internamente all'inizio di una chat.

    Esempio: auth.getAuthenticationToken

    Note

    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 configurare il reindirizzamento secondo il metodo nel passaggio 4 o come passaggio precedente nel flusso dell'utente.

    Nella figura seguente viene illustrata la configurazione.

    Configurazione della chat autenticata.

    Quindi, puoi configurare una chat autenticata seguendo questi passaggi:

Configurare la chat autenticata

  1. Vai al centro di amministrazione del servizio Copilot e crea un record delle impostazioni di autenticazione con le informazioni del passaggio 5 della sezione precedente. Altre informazioni in Creare un record di impostazioni di autenticazione per la chat.

  2. Associa le impostazioni di autenticazione alla chat widget che ha un'esperienza autenticata. Altre informazioni in Aggiungere l'autenticazione al widget chat.

    L'illustrazione seguente illustra la sequenza delle chiamate quando un utente accede alla chat in una configurazione autenticata:

    Runtime della chat autenticata.

Creare impostazioni di autenticazione per Apple Messages for Business

Note

Il supporto per il canale Apple Messages for Business è deprecato. Altre informazioni in Deprecazioni.

Prerequisiti

  • Gli amministratori che configurano le impostazioni di autenticazione necessitano di ulteriori autorizzazioni di sicurezza. Altre informazioni in Impostare le autorizzazioni di sicurezza per un campo.

  • Assicurati che la tua organizzazione abbia una conoscenza pratica del flusso OpenID Connect OAuth 2.0. I passaggi sono descritti nella sezione successiva.

  • Verifica che la tua organizzazione disponga di almeno un messaggio avanzato di tipo autenticazione Apple Messages for Business. Questa configurazione del messaggio avanzato è obbligatoria per l'installazione.

Creare un record di impostazione dell'autenticazione per Apple Messages for Business utilizzando il flusso OpenID Connect di OAuth 2.0

  1. Nella mappa del sito del centro di amministrazione del servizio Copilot, vai a Assistenza clienti>, Impostazioni cliente, e quindi seleziona Gestisci per le impostazioni di autenticazione. Viene visualizzato un elenco delle impostazioni di autenticazione esistenti.

  2. Selezionare Nuova impostazione di autenticazione e nella pagina Aggiungi impostazione di autenticazione fornire i seguenti dettagli:

    1. Nella pagina Tipo di canale immettere un nome e selezionare Apple Messages for Business come tipo di canale.

    2. Per Tipo di autenticazione selezionare Flusso di connessione OAuth 2.0 OpenID.

    3. Nella pagina Aggiungi impostazione di autenticazione, immetti le informazioni seguenti:

      • ID client: identificatore client OAuth 2.0 emesso 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 sono stati richiesti al cliente. Il contenuto dell'ambito deve corrispondere esattamente a quelli disponibili tramite il fornitore di servizi.
      • Token di accesso URL: endpoint del fornitore di servizi dove è possibile richiedere un token di accesso.
      • URL token decrittografato: endpoint in cui l'API OAuth 2.0 può recuperare le informazioni del cliente richieste nell'ambito.
      • Parametri aggiuntivi: consente ai servizi di autenticazione di prendere parametri aggiuntivi dalla richiesta.
    4. Nella pagina Dettagli aggiuntivi è possibile definire facoltativamente un tempo di scadenza del token di accesso, in secondi. Il tempo di scadenza predefinito è di un'ora.
      Dopo l'ora specificata, il campo Autenticato nella sezione Riepilogo conversazione di una conversazione autenticata in precedenza cambia in No.

    5. Nella pagina Messaggi RTF, seleziona Aggiungi, quindi seleziona uno o più messaggi RTF da associare a questa impostazione di autenticazione.

    6. Esamina la pagina Riepilogo e quindi seleziona Avanti. L'impostazione di autenticazione è configurata.

    7. Nella pagina Informazioni sul reindirizzamento, copia l'URL. Aggiungi questo URL al sito web del fornitore del servizio di autenticazione sotto URL di callback consentiti.

    8. selezionare Fine.

Aggiungere l'autenticazione a un canale Apple Messages for Business

  1. Apri il flusso di lavoro che contiene l'istanza del canale per cui aggiungere l'autenticazione.
  2. Nella pagina Comportamenti delle impostazioni del canale andare a Impostazioni di autenticazione, abilitare la funzionalità, quindi selezionare l'impostazione corretta dal menu a discesa. Altre informazioni in Configurare un canale Apple Messages for Business.
  3. Per rivedere o aggiornare le impostazioni di autenticazione per ogni istanza di canale, seleziona Modifica.

Aggiungere un widget chat
Configurare un sondaggio pre-conversazione
Crea risposte rapide
Creare e gestire ore di attività
Integra il widget di chat nei portali di Power Apps
Identificare automaticamente i clienti