Pregunta
¿Por qué veo un error de conflicto de 409 cuando autentico a usuarios con autenticación JWT en el producto de mensajería?
Respuesta
Con la autenticación JWT, se requiere una external_id cada vez. También puede incluir una identidad de correo electrónico verificada. Si se incluye una identidad de correo electrónico verificada, Sunshine Conversations almacena ese correo electrónico como una (user.identities) de identidad, y cada identidad debe ser única. Por ejemplo, un inicio de sesión con JWT podría crear un usuario con la external_id 1234 y el user@example.org de identidad de correo electrónico.
Ocurre un error de conflicto de correo electrónico cuando el JWT tiene un external_id y un correo electrónico que no coinciden con lo que el sistema ya tiene registrado. Por ejemplo, si un JWT posterior contiene el external_id 5678 y el user@example.org de identidad de correo electrónico verificado, el intento de inicio de sesión producirá un error de conflicto de correo electrónico. Esto se debe a que el correo electrónico proporcionado ya ha sido emparejado con otro external_id. Este desajuste a veces puede ocurrir porque un usuario ha cambiado su dirección de correo electrónico. Si el JWT no incluye la reclamación por correo electrónico, no se produciría el conflicto.
Puede identificar al usuario que causa el conflicto con la API de usuarios:
-
Método API:
GEThttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users?filter[identities.email]=user@example.org
Para resolver el conflicto hay dos opciones:
Borrar al usuario en conflicto con la API Borrar usuario:
-
Autenticación básica: Usar una clave API y clave secreta
-
Nombre de usuario:
API_KEY_ID -
Contraseña:
API_KEY_SECRET
-
Nombre de usuario:
-
Método API:
DELETEhttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}
O bien, puede usar la API Borrar información personal del usuario para borrar la identidad del correo electrónico en conflicto:
-
Método API:
DELETEhttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation
En los URL de arriba, reemplace {appId} con la ID que recibirá cuando genere la clave API y la clave secreta, y reemplace {userIdOrExternalId} con la external_id anterior vinculada al usuario que devuelve el error.
Si desea más información sobre la API Sunshine Conversations, consulte Welcome to the Sunshine Conversations API.
userIdOrExternalId, borrará el historial de conversaciones del usuario final después de que se autentique con el nuevo external_id y después de borrar al usuario de Sunshine Conversations. Este artículo se ofrece con fines de instrucción únicamente. Zendesk no ofrece soporte para el código ni lo garantiza. Publique cualquier problema en la sección de comentarios o busque una solución en línea.Si desea más información, consulte Autenticación de usuarios finales para mensajería.
Descargo de responsabilidad de la traducción: Este artículo ha sido traducido usando software de traducción automática para proporcionar una idea básica del contenido. Se han realizado esfuerzos razonables para proporcionar una traducción exacta, sin embargo, Zendesk no garantiza la exactitud de la traducción.
Si surge alguna pregunta relacionada con la exactitud de la información incluida en el artículo traducido, consulte la versión en inglés del artículo, que es la versión oficial.