Ungültige JWT-Anforderung – Magento mit Zendesk verknüpfen

StartMagento & E-Commerce BlogMagentoUngültige JWT-Anforderung – Magento mit Zendesk verknüpfen

Als Online-Shop Betreiber hat man tagtäglich eine Vielzahl an Kundenanfragen zu beantworten. Daher zählt eine vernünftige Helpdesk-Lösung, zumindest für Online-Shops ab einer gewisse Größe, zum Must-Have. Zendesk, eine Software as a Service (Saas) Helpdesk-Software, ist für diese Anforderung eine sehr geniale Lösung, die ich auch selbst bei itabs im Einsatz habe. Interessant ist Zendesk vor allem aufgrund der Verknüpfungsmöglichkeiten mit Magento.

Zendesk bietet von Haus aus eine sehr geniale Integration in Magento. Beispielsweise kann man im Magento Benutzerkonto seine Zendesk Supportanfragen sehen, im Magento Backend hat man die Möglichkeit Zendesk Supportanfragen zu eröffnen und in Zendesk sieht man bei einer Supportanfrage direkt offene Bestellungen und weiterführende Informationen zum jeweiligen Kunden.

Ein Problem mit dem ich aber nun einige Zeit zu kämpfen hatte bestand in der Verbindung des Logins in Form eines Single Sign On. Ist Zendesk mit Magento verknüpft, kann man Zendesk dahingehend konfigurieren, dass der Login innerhalb des Zendesk Support Centers über die Magento Benutzerdatenbank läuft. Der Sinn und Zweck besteht darin, dass die Kunden, die im Magento-Shop bereits existieren, nicht ein zweites Benutzerkonto anlegen müssen, sondern sich mit den Magento Benutzerdaten direkt in Zendesk anmelden können.

Für die Aktivierung des Single Sign On muss man letztendlich in beiden Systemen nur ein paar wenige Informationen hinterlegen (eine genaue Anleitung findet man unter https://support.zendesk.com/hc/en-us/articles/203660046-Magento-Integration-Installing-the-Zendesk-extension-for-Magento), aber in meinem Fall hat der Login schlicht und einfach nicht funktioniert. Hat man sich in Zendesk mit den Magento Zugangsdaten angemeldet, wurde letztendlich nur die Meldung „Ungültige JWT-Anforderung JWT-Anforderungen müssen an https://XYZ.zendesk.com/access/jwt gesendet werden“ ausgegeben.

zendesk-magento-jwt-fehler

Da die Konfigurationsmöglichkeiten wie erwähnt ziemlich beschränkt sind, hatte ich mit der Fehlerbehebung ziemlich zu kämpfe, da ich im ersten Schritt das Magento Modul als Übeltäter eigentlich gar nicht auf der Liste hatte. Nachdem ich einige E-Mails mit Zendesk ausgetauscht habe und das Problem auf anhieb nicht gelöst werden konnte, ergab sich im darauf folgenden Skype Call mit dem technischen Support die Lösung.

Tatsächlich versteckt sich der Fehler im Magento Modul von Zendesk und zwar in den folgenden Dateien:

  • app/code/community/Zendesk/controllers/SsoController.php
  • app/code/community/Zendesk/controllers/Adminhtml/ZendeskController.php

In beiden Dateien gibt es nämlich folgendes Statement:

$url = „http://“.$domain.“/access/jwt?jwt=“ . $jwt;

Der Verbindungsaufbau per http:// (der Übeltäter) ist hart in den beiden Dateien hinterlegt, korrekt wäre aber ein Verbindungsaufbau per https, sprich die Zeile müssten wie folgt aussehen:

$url = „https://“.$domain.“/access/jwt?jwt=“ . $jwt;

Ändert man in beiden Controllern die Zeile entsprechend ab, verschwindet anschließend auch der Fehler „Ungültige JWT-Anforderung“. Lustigerweise hatte dieses Problem der technische Zendesk Support aber gar nicht auf dem Schirm, letztendlich habe ich die Frage nach dem Protokoll in den Raum geworfen. Auf die Frage warum denn der Fehler in dem Modul enthalten sei bzw. wann dieser korrigiert wird, gabs’s die folgende Antwort:

„[…] Ja das Problem ist von unserer Seite seit circa 6 Monaten behoben bzw. vor 6 Monaten wuerde diese aenderung an dem Code auf Github durchgefuehrt es gibt jedoch Versionen der Extension die „forked“ sind wie z.B.: Fehlerhafte Version von AOEpeople

Und der folgende Link ist die Version von dem Zendesk Github account mit der aenderung auf HTTPS. Offical Zendesk Version […]

Scheinbar war das Problem also bekannt und wurde behoben, der Support wusste es aber nicht – okay kann passieren. Jedenfalls sollte man, dies als abschließendes Fazit, bei dieser Fehlermeldung einfach kurz prüfen ob das verwendete Zendesk Modul für Magento auf dem aktuellsten Stand ist bzw. ob man eine geforkte Variante verwendet und falls ja auf die offizielle Version von Zendesk umschwenken.

Schade, dass exakt dieser Fehler nicht irgendwo in den Weiten der Zendesk Support Datenbank dokumentiert ist, denn dadurch hätte man eine Menge Zeit sparen können.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.