Pregunta
¿Por qué veo un error de conflicto de 409
cuando autentico a usuarios con autenticación JWT en la mensajería?
Respuesta
Con la autenticación JWT, siempre se requiere un external_id
y, opcionalmente, también se puede incluir una identidad de correo electrónico verificada. Si se incluye una identidad de correo electrónico verificada, Sunshine Conversations almacenará ese correo electrónico como una (user.identities)
de identidad, y estas identidades deben ser únicas. Por ejemplo, un inicio de sesión con JWT podría crear un usuario con el external_id
1234 y el user@example.org
de identidad de correo electrónico.
Un error de conflicto de correo electrónico indica que el JWT que se está presentando tiene un external_id
y un emparejado de correo electrónico que no coinciden con lo que ya está 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 tenía la reclamación por correo electrónico, el conflicto no ocurriría.
Para resolver este comportamiento y permitir que los usuarios que tengan una external_id
actualizada inicien sesión a través de la autenticación JWT, debe borrar la user.id
anterior que vinculó a la primera external_id
.
Hacer una llamada de API:
-
Autenticación básica: utilice una clave API y una clave secreta
-
Nombre de usuario:
API_KEY_ID
-
Contraseña:
API_KEY_SECRET
-
Nombre de usuario:
-
Método API:
DELETE
https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}
Dentro de los URL anteriores, reemplace el {appId}
con la ID proporcionada al generar la clave API y la clave secreta, y reemplace el {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 este artículo: Bienvenido a la Sunshine Conversations API.
Descargo de responsabilidad: Si sigue los pasos anteriores para borrar el userIdOrExternalId
, deslizará el historial de conversaciones para el usuario final, cuando los usuarios finales se autentiquen con el nuevo ExternalId
, después de borrar el UserID
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.
Otra opción es borrar la información personal del usuario de Sunshine Conversations. No borrará las conversaciones del perfil de Sunshine Conversations con este punto final: Borrar información personal del usuario.
-
Método API:
DELETE
https://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation
Para obtener más información, consulte este artículo: Autenticación de usuarios finales para la 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.