Frage
Warum sehe ich einen 409, wenn ich Benutzer mit JWT-Authentifizierung im Messaging-Produkt authentifiziere?
Antwort
Bei der JWT-Authentifizierung ist jedes Mal eine external_id erforderlich. Sie können auch eine verifizierte E-Mail-Identität angeben. Wenn Sie eine bestätigte E-Mail-Identität angeben, speichert Sunshine Conversations diese E-Mail als Identitäts-(user.identities), und jede Identität muss eindeutig sein. Bei einer JWT-Anmeldung wird beispielsweise ein Benutzer mit der external_id 1234 und der user@example.org für die E-Mail-Identität erstellt.
Ein E-Mail-Konfliktfehler tritt auf, wenn das JWT einen external_id und eine E-Mail-Adresse hat, die nicht mit dem übereinstimmen, was das System bereits gespeichert hat. Wenn ein nachfolgendes JWT beispielsweise die external_id 5678 und die bestätigte E-Mail-Identität user@example.org enthält, führt der Anmeldeversuch zu einem E-Mail-Konfliktfehler. da die angegebene E-Mail bereits mit einem anderen external_id verknüpft ist. Diese Abweichung kann manchmal auftreten, weil ein Benutzer seine E-Mail-Adresse geändert hat. Wenn das JWT den E-Mail-Anspruch nicht enthält, würde der Konflikt nicht auftreten.
Mit der List Users API können Sie den Benutzer identifizieren, der den Konflikt verursacht:
-
API-Methode:
GEThttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users?filter[identities.email]=user@example.org
Um den Konflikt zu lösen, gibt es zwei Möglichkeiten:
Löschen Sie den Benutzer, der in Konflikt mit der Delete User API steht:
-
Standardauthentifizierung API-Schlüssel und Geheimschlüssel verwenden
-
Benutzername:
API_KEY_ID -
Kennwort:
API_KEY_SECRET
-
Benutzername:
-
API-Methode:
DELETEhttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}
Oder verwenden Sie die Delete User Personal Information API, um die E-Mail-Identität im Konflikt zu löschen:
-
API-Methode:
DELETEhttps://<subdomain>.zendesk.com/sc/v2/apps/{appId}/users/{userIdOrExternalId}/personalinformation
Ersetzen Sie in den URLs oben {appId} durch die ID, die Sie beim Generieren des API-Schlüssels und des Geheimschlüssels erhalten, und ersetzen Sie {userIdOrExternalId} durch die vorherige external_id, die mit dem Benutzer verknüpft ist, der den Fehler zurückgibt.
Weitere Informationen zur Sunshine Conversations API finden Sie unter Willkommen bei der Sunshine Conversations API.
userIdOrExternalId löschen, löschen Sie den Konversationsverlauf des Endbenutzers, nachdem er sich mit dem neuen external_id authentifiziert hat und nachdem Sie ihn aus Sunshine Conversations gelöscht haben. Dieser Beitrag dient lediglich zu Demonstrationszwecken. Zendesk bietet keine Unterstützung oder Garantie für den Code. Posten Sie Probleme in den Kommentaren oder suchen Sie online nach einer Lösung.Weitere Informationen finden Sie unter Authentifizierung von Endbenutzern für Messaging.
Hinweis zur Übersetzung: Dieser Beitrag wurde mit automatischer Übersetzungssoftware übersetzt, um dem Leser ein grundlegendes Verständnis des Inhalts zu vermitteln. Trotz angemessener Bemühungen, eine akkurate Übersetzung bereitzustellen, kann Zendesk keine Garantie für die Genauigkeit übernehmen.
Sollten in Bezug auf die Genauigkeit der Informationen im übersetzten Beitrag Fragen auftreten, beziehen Sie sich bitte auf die englische Version des Beitrags, die als offizielle Version gilt.