L’autenticazione degli utenti finali è importante per molti scopi aziendali. Quando forniscono assistenza conversazionale, gli utenti potrebbero provare a portare avanti una conversazione tra dispositivi e canali. Autenticando gli utenti finali, puoi assicurarti che tutti i punti di contatto siano associati all’utente finale corretto. Ciò può migliorare la qualità dell’assistenza fornita dagli agenti e aumentare la sicurezza delle informazioni sensibili che potrebbero emergere mentre gli agenti assistono gli utenti finali.
Informazioni sull’autenticazione degli utenti finali per la messaggistica
- Crescente certezza che gli utenti finali con cui i tuoi agenti stanno parlando siano quelli che affermano di essere.
- Identificazione di un singolo utente su tutti i canali se incorpori il widget in più domini o ti colleghi a servizi esterni, come Shopify.
- Identificazione di un singolo utente su diversi dispositivi e browser.
Terminologia per l’autenticazione della messaggistica
- JWT: Zendesk usa JSON Web Token (JWT) firmati per autenticare gli utenti finali per la messaggistica. Questi token contengono dettagli che verificano l’identità degli utenti finali. Per ulteriori informazioni su JWT, consulta jwt.io.
- Chiave di firma: una chiave di firma viene creata da un amministratore Zendesk nel Centro amministrativo e condivisa con uno sviluppatore del team, che la usa per firmare il JWT, se necessario.
- ID esterno: una stringa alfanumerica, come il nome utente o l’ID di un sistema esterno, univoca per ciascun utente. Questa è l’identificazione principale per l’autenticazione della messaggistica, anche quando un indirizzo email è incluso nel JWT.
- Nome utente: (Facoltativo) il nome dell’utente finale associato all’ID esterno o all’indirizzo email. Se includi il nome dell’utente nel JWT, viene visualizzato nello spazio di lavoro agente. Queste informazioni possono aiutare gli agenti a comunicare con gli utenti finali.
- Email: (Facoltativo) l’indirizzo email univoco associato a un utente finale.
Panoramica dell’implementazione dell’autenticazione della messaggistica per gli utenti finali
- Il processo di autenticazione della messaggistica inizia con un amministratore che genera una chiave di firma e la fornisce a uno sviluppatore. Quindi lo sviluppatore usa la chiave di firma per implementare un servizio di back-end in grado di creare JWT firmati per gli utenti come richiesto.
- Quando richiesto, il servizio di back-end crea e restituisce i JWT firmati al tuo sito web o all’app per dispositivi mobili. I JWT creati da questo servizio devono includere un ID esterno univoco e, facoltativamente, un indirizzo email per identificare l’utente finale.
- Ogni volta che l’utente effettua l’accesso, il sito web o l’app deve chiamare un’API di accesso equivalente disponibile per i widget web e gli SDK per dispositivi mobili, dopodiché il JWT viene passato a Zendesk per verificare l’identità dichiarata dell’utente.
Requisiti per l’autenticazione degli utenti finali per la messaggistica
- Lo spazio di lavoro agente Zendesk è attivato.
- Stai usando il widget web o i canali dell’SDK per dispositivi mobili per la messaggistica.
- Associa le identità email agli utenti finali.
- Se vuoi che gli utenti autenticati dispongano di identità email verificate, i JWT che invii agli utenti finali devono contenere entrambi i reclami
email
eemail_verified: true
.
Agent experience durante l’autenticazione degli utenti finali di messaggistica
Gli agenti vedono un’icona con un segno di spunta verde accanto al nome del visitatore e l’ID esterno dell’utente finale è visibile accanto al profilo dell’utente quando l’utente finale viene autenticato.
Inoltre, ogni risposta pubblicata da un utente finale dopo l’autenticazione è contrassegnata dall’icona del segno di spunta.
L’utente finale autenticato può partecipare a una conversazione su più dispositivi contemporaneamente. Per gli utenti finali non autenticati, vengono creati record utente e conversazioni separati per ciascun dispositivo utilizzato. Se un utente finale esegue l’autenticazione nel corso della conversazione, le conversazioni precedenti e successive all’autenticazione vengono unite automaticamente per garantire continuità all’agente e all’utente finale.
Se usi le identità email, la mappatura degli utenti finali ai record utente varia in base alle impostazioni dell’identità email. Nella maggior parte delle configurazioni, gli impostori appaiono come record utente separati e non hanno il segno di spunta verde accanto al nome perché non possono essere autenticati correttamente. Se consenti agli utenti non autenticati di richiedere indirizzi email verificati, le identità email vengono associate al primo utente che richiede l’indirizzo. Se due utenti finali richiedono lo stesso indirizzo, l’identità email viene associata al record utente per l’utente finale che è in grado di eseguire l’autenticazione e verificare l’indirizzo email.
In caso di conflitto, le identità email verificate sostituiscono le identità email non verificate. Ad esempio, se un utente non autenticato fornisce un indirizzo email già associato a un’identità verificata, Zendesk crea una nuova sessione non autenticata e un nuovo record utente senza identità email per l’utente non autenticato che sta tentando di impersonare un utente verificato. Allo stesso modo, se un utente non autenticato fornisce un indirizzo email ma non può verificarlo, ma in seguito un altro utente fornisce l’indirizzo email ed è in grado di verificarlo e accedere con il proprio JWT, l’identità email verrà assegnata all’utente autenticato e rimossa dal record dell’utente non autenticato.
Gli agenti hanno la possibilità di unire record utente duplicati e aggiungere manualmente un’identità email ai record utente. Ti consigliamo di insegnare agli agenti a eseguire i controlli di verifica dell’identità con gli utenti finali prima di intraprendere una di queste azioni.
Esperienza utente finale con l’autenticazione per la messaggistica
Dopo aver implementato l’autenticazione degli utenti finali per la messaggistica, gli utenti finali non dovrebbero notare molte differenze. Dopo che sono stati autenticati e la loro identità è stata verificata con Zendesk, agli utenti finali non viene chiesto di fornire il proprio nome o indirizzo email dai bot di messaggistica come parte della risposta di messaggistica predefinita.
Le conversazioni per gli utenti finali autenticati vengono sincronizzate su tutti i dispositivi quando l’utente finale viene autenticato. Vengono creati record utente e conversazioni separati per gli utenti finali non autenticati. Se un utente finale si autentica a metà conversazione, la conversazione anonima creata prima dell'accesso viene unita automaticamente alla conversazione autenticata per fornire continuità conversazionale.
Creazione e condivisione di una chiave di firma
Le chiavi di firma vengono usate dagli sviluppatori per creare JWT per gli utenti finali. Per creare una chiave di firma, devi essere un amministratore. Puoi creare un massimo di 10 chiavi. Se tenti di creare una nuova chiave dopo aver raggiunto il limite di 10, ti verrà chiesto di eliminare le chiavi inutilizzate.
- Nel Centro amministrativo, fai clic su Account nella barra laterale, quindi seleziona Sicurezza > Autenticazione utenti finali.
- Fai clic sulla scheda Messaggistica, quindi su Crea chiave.
Se stai creando la tua prima chiave, nella parte inferiore della pagina viene visualizzato Crea chiave. In caso contrario, appare nell’angolo in alto a destra.
- Inserisci un nome per la chiave e fai clic su Avanti.
- Quando richiesto, fai clic su Copia per copiare il segreto condiviso, quindi fai clic su Nascondi chiave per sempre.
La chiave viene salvata e viene assegnato automaticamente un ID. Puoi trovare l’ID di una chiave nell’elenco delle chiavi nella scheda Messaggistica della pagina Autenticazione utente finale.
- Invia in modo riservato l’ID della chiave e il segreto condiviso copiato allo sviluppatore.
Autenticazione degli utenti finali solo con un ID esterno
-
external_id: (Obbligatorio) questa è la stringa alfanumerica univoca che può essere usata per identificare ciascun utente. In genere, questi ID provengono da sistemi esterni. Un ID non può superare i 255 caratteri.
Zendesk usa
external_id
come identificatore principale per gli utenti che si autenticano tramite la messaggistica. Quando si autentica un utente con un JWT valido, Zendesk risolve prima un utente esistente conexternal_id
. Se non viene trovato alcunexternal_id
corrispondente, gli utenti vengono risolti usando l’indirizzo email fornito. Consulta Emissione di JWT con indirizzi email. -
scope: (Obbligatorio) ambito di accesso del chiamante. L’unico valore valido è
user
. - name: (Facoltativo) il nome dell’utente. L’inclusione del nome nel payload JWT consente a Zendesk di visualizzare il nome dell’utente nello spazio di lavoro agente e consente agli agenti di fornire un’assistenza più personalizzata.
{
"external_id": "12345678",
"scope": "user",
"name": "Jane Soap"
}
Integrazione delle identità email nell’autenticazione degli utenti finali
- Gli utenti autenticati vengono autenticati tramite JWT firmati.
L’uso dei JWT offre un approccio affidabile perché il contenuto di un JWT firmato non può essere manomesso dagli utenti finali. Se gli attacchi di impersonificazione ti preoccupano, dovresti limitare le identità email agli utenti finali autenticati. Questa è l’opzione più sicura ed è l’approccio predefinito per i nuovi account Zendesk.
- Gli utenti non autenticati sono utenti finali che forniscono un indirizzo email in risposta alla richiesta di un bot Zendesk.
Tieni presente che consentire l’uso di identità email per utenti non autenticati può renderti vulnerabile alle persone che si spacciano per altri utenti fornendo un indirizzo email di cui non sono proprietari.
Configurazione delle identità email
Nei nuovi account Zendesk, le identità email sono attive e configurate per usare solo indirizzi email verificati. Questa è l’opzione più sicura. Gli account meno recenti sono configurati per usare indirizzi email verificati e non verificati. Prima di aggiungere indirizzi email ai tuoi JWT, dovresti rivedere le opzioni e aggiornare le impostazioni, se necessario.
- Nel Centro amministrativo, fai clic su Canali nella barra laterale, quindi seleziona Messaggistica e social > Messaggistica.
- Fai clic su Gestisci impostazioni.
- Fai clic su Identità email, quindi seleziona una delle seguenti opzioni:
-
Usa solo email verificate: le identità email vengono create solo per gli utenti autenticati che hanno un indirizzo email verificato incluso nel JWT emesso. Gli agenti possono comunque aggiungere manualmente un’identità email a un record utente.
Con questa opzione, gli agenti vedono l’indirizzo email fornito dagli utenti finali non autenticati nella cronologia chat, ma non vedranno un’identità email associata all’utente nella scheda Dati essenziali. Se un agente deve contattare un utente non autenticato tramite email, deve aggiungere manualmente l’identità email a quel record utente. Se l’indirizzo email dell’utente non autenticato esiste già in un altro record utente, l’agente ha la possibilità di unire i due record utente.
Prima di aggiungere manualmente un’identità email o unire due record utente, ti consigliamo di assicurarti che gli agenti eseguano una verifica dell’identità per prevenire eventuali attacchi di social engineering.
-
Usa sia indirizzi verificati che non verificati: le identità email vengono create sia per gli utenti autenticati che hanno un indirizzo email verificato nel proprio JWT, sia per gli utenti non autenticati che forniscono indirizzi email tramite flussi di bot. Con questa opzione, è più probabile che gli agenti trovino l’indirizzo email dell’utente finale nella scheda Dati essenziali e le identità email per gli indirizzi email non verificati sono chiaramente contrassegnate come non verificate nello spazio di lavoro agente. Quando necessario, gli agenti possono chiedere agli utenti finali di autenticarsi se devono inviare email di follow-up.
In caso di conflitto, le identità email verificate sostituiscono le identità email non verificate.
-
Usa solo email verificate: le identità email vengono create solo per gli utenti autenticati che hanno un indirizzo email verificato incluso nel JWT emesso. Gli agenti possono comunque aggiungere manualmente un’identità email a un record utente.
- (Facoltativo, ma non consigliato) Se vuoi che qualsiasi utente, anche non autenticato, possa rivendicare indirizzi email verificati, seleziona Gli utenti non autenticati possono rivendicare indirizzi email verificati.
Quando selezioni questa opzione, lo stato di verifica delle identità email raccolte dai canali di messaggistica non è più affidabile perché un impostore può presentarsi dopo che un utente è stato autenticato e prendere possesso del suo stato email in una successiva interazione di messaggistica. Ciò significa che gli attacchi di impersonificazione hanno maggiori probabilità di successo e gli agenti hanno mezzi limitati per sapere se l’utente finale è chi afferma di essere. In ogni caso, le identità email verificate sostituiscono le identità email non verificate e l'identità email viene rimossa dal record utente dell'impostore.
- Fai clic su Salva impostazioni.
Emissione di JWT con indirizzi email
-
external_id: (Obbligatorio) questa è la stringa alfanumerica univoca che può essere usata per identificare ciascun utente. In genere, questi ID provengono da sistemi esterni. Un ID non può superare i 255 caratteri.
Zendesk usa
external_id
come identificatore principale per gli utenti che si autenticano tramite la messaggistica. Quando si autentica un utente con un JWT valido, Zendesk risolve prima un utente esistente conexternal_id
. Se non viene trovato alcunexternal_id
corrispondente, gli utenti vengono risolti usando l’indirizzo email fornito. Consulta Emissione di JWT con indirizzi email. -
scope: (Obbligatorio) ambito di accesso del chiamante. L’unico valore valido è
user
. - name: (Facoltativo) il nome dell’utente. L’inclusione del nome nel payload JWT consente a Zendesk di visualizzare il nome dell’utente nello spazio di lavoro agente e consente agli agenti di fornire un’assistenza maggiormente personalizzata.
-
email: (Obbligatorio) l’indirizzo email dell’utente che ha effettuato l’accesso. Deve essere univoco per l’utente.
Imposta l’indirizzo email principale dell’utente nello Spazio di lavoro agente. L’inclusione di indirizzi email secondari nei JWT non è supportata.
-
email_verified: (Facoltativo) indica se l’utente finale in questione ha dimostrato la titolarità dell’indirizzo email. Se vuoi che gli utenti finali dispongano di identità email verificate, i JWT che emetti devono contenere entrambi i reclami
email
e"email_verified": true
.
{
"external_id": "12345678",
"email": "janes@soap.com",
"email_verified": true,
"name": "Jane Soap",
"scope": "user"
}
Risoluzione dei conflitti tra ID esterni ed email nei JWT
Zendesk usa l'ID esterno come identificatore principale, e gli indirizzi email vengono usati solo se non vengono trovate corrispondenze per l'ID esterno. Tuttavia, se un indirizzo email presentato in un JWT è già associato a un ID esterno diverso, Zendesk rifiuta il JWT e il tentativo di accesso dell’utente finale non va a buon fine. In questo caso, la conversazione inizia con l’utente in uno stato non autenticato.
- Aggiorna il JWT per usare un altro valore
external_id
o indirizzoemail
.OPPURE
- Elimina l’utente con il valore
external_id
in conflitto, in modo che possa essere usato da un altro utente finale. Consulta Eliminazione di un utente nell’API Sunshine Conversations.