Question

Pourquoi est-ce que je vois un 409 une erreur de conflit quand j’authentifie les utilisateurs avec l’authentification JWT dans la messagerie ?

Réponse

Avec l’authentification JWT, external_id est toujours obligatoire et une identité d’adresse e-mail vérifiée peut également être incluse. Quand une identité d’adresse e-mail vérifiée est incluse, Sunshine Conversations stocke cet e-mail comme identité (user.identities), et ces identités doivent être uniques. Par exemple, une connexion JWT peut créer un utilisateur avec external_id 1234 et l’identité d’adresse e-mail user@example.org.

Une erreur de conflit d’e-mail indique que le JWT présenté a external_id et les synchronisations d’adresses e-mail qui ne correspondent pas à ce qui est déjà enregistré. Par exemple, si un JWT subséquent contient l’élément external_id 5678 et l’identité d’adresse e-mail vérifiée user@example.org, la tentative de connexion provoquera une erreur de conflit d’e-mail. En effet, l’adresse e-mail donnée a déjà été associée à une autre adresse e-mail. external_id. Cette erreur de correspondance peut parfois se produire parce qu’un utilisateur a modifié son adresse e-mail. Si le JWT n’a pas la revendication d’e-mail, le conflit ne se produira pas.

Pour résoudre ce comportement et permettre aux utilisateurs avec une mise à jour external_id pour vous connecter via l’authentification JWT, vous devez supprimer la balise user.id que vous avez lié au premier external_id.

Effectuer un appel API.

  • Authentification élémentaire, utilisez une clé API et une clé secrète
    • Nom d’utilisateur :
    • Mot de passe
  • Méthode API : DELETE
    • https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}

Dans les URL ci-dessus, remplacez l’expression {appId} par l’ID fourni lors de la génération de la clé API et de la clé secrète, et remplacez {userIdOrExternalId} avec le précédent external_id lié à l’utilisateur qui renvoie l’erreur.

Pour en savoir plus sur l’API Sunshine Conversations , consultez cet article : Bienvenue dans l'API Sunshine Conversations.

Clause de non-responsabilité : Si vous suivez les étapes ci-dessus pour supprimer l’attribut userIdOrExternalId, vous ferez glisser l’historique des conversations pour l’utilisateur final quand il s’authentifie avec le nouveau ExternalId, après avoir supprimé l’expression UserID de Sunshine Conversations. Cet article est fourni à titre informatif uniquement. Zendesk ne fournit pas l’assistance pour le code et ne le garantit pas. Si vous rencontrez des problèmes, publiez-en la description dans la section des commentaires ou recherchez une solution en ligne.

Une autre option consiste à supprimer les informations personnelles de l’utilisateur de Sunshine Conversations. Vous ne supprimerez pas les conversations dans le profil Sunshine Conversations avec ce point de terminaison : Supprimer les informations personnelles de l’utilisateur.

  • Méthode API : DELETE
    • https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation

Pour en savoir plus, consultez cet article : Authentification des utilisateurs finaux dans la messagerie

Traduction - exonération : cet article a été traduit par un logiciel de traduction automatisée pour permettre une compréhension élémentaire de son contenu. Des efforts raisonnables ont été faits pour fournir une traduction correcte, mais Zendesk ne garantit pas l’exactitude de la traduction.

Si vous avez des questions quant à l’exactitude des informations contenues dans l’article traduit, consultez la version anglaise de l’article, qui représente la version officielle.

Réalisé par Zendesk