Domanda
Perché vedo a 409
errore di conflitto quando autentico gli utenti con l’autenticazione JWT nella messaggistica?
Risposta
Con l’autenticazione JWT, an external_id
è sempre obbligatorio e facoltativamente può essere inclusa anche un’identità email verificata . Quando viene inclusa un’identità email verificata, Sunshine Conversations memorizzerà tale email come identità (user.identities)
e queste identità devono essere univoche. Ad esempio, un accesso JWT potrebbe creare un utente con external_id
1234 e l’identità email user@example.org
.
Un errore di conflitto email indica che il JWT presentato ha un external_id
e indirizzi email che non corrispondono a quanto già registrato. Ad esempio, se un JWT successivo contiene il file external_id
5678 e l’identità email verificata user@example.org
, il tentativo di accesso genererà un errore di conflitto email. Ciò è dovuto al fatto che l’indirizzo email specificato è già stato associato a un altro indirizzo email external_id
. A volte questa mancata corrispondenza può verificarsi perché un utente ha cambiato il proprio indirizzo email. Se il JWT non disponeva dell’attestazione email, il conflitto non si verificherebbe.
Per risolvere questo comportamento e consentire agli utenti di aggiornare external_id
per accedere tramite l’autenticazione JWT, è necessario eliminare il precedente user.id
a cui hai collegato per primo external_id
.
Effettua chiamata API:
-
Autenticazione di base, usa una chiave API e una chiave segreta
- Nome utente
- Password*
-
Metodo API:
DELETE
https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}
All’interno degli URL indicati sopra, sostituisci {appId}
con l’ID fornito durante la generazione della chiave API e della chiave segreta e sostituisci il {userIdOrExternalId}
con il precedente external_id
collegato all’utente che restituisce l’errore.
Per ulteriori informazioni sull’API Sunshine Conversations , consulta questo articolo: Benvenuto nell’API Sunshine Conversations.
Avvertenza: Se segui i passaggi precedenti per eliminare il file userIdOrExternalId
, scorri la cronologia delle conversazioni per l’utente finale, quando gli utenti finali si autenticano con il nuovo ExternalId
, dopo aver eliminato il file UserID
da Sunshine Conversations. Questo articolo viene fornito solo a scopo didattico. Zendesk non offre alcun supporto o garanzia per il codice. Pubblica eventuali problemi nella sezione commenti o cerca una soluzione online.
Un’altra opzione consiste nell’eliminare le informazioni personali dell’utente da Sunshine Conversations. Non eliminerai le conversazioni nel profilo Sunshine Conversations con questo endpoint: Elimina le informazioni personali degli utenti.
-
Metodo API:
DELETE
https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation
Per ulteriori informazioni, leggi l'articolo: Autenticazione degli utenti finali per la messaggistica
Avvertenza sulla traduzione: questo articolo è stato tradotto usando un software di traduzione automatizzata per fornire una comprensione di base del contenuto. È stato fatto tutto il possibile per fornire una traduzione accurata, tuttavia Zendesk non garantisce l'accuratezza della traduzione.
Per qualsiasi dubbio sull'accuratezza delle informazioni contenute nell'articolo tradotto, fai riferimento alla versione inglese dell'articolo come versione ufficiale.