Auth Problem für REST API, lokal ausgeführt unter Windows 7

Hallo,

nach vielen Stunden Suchens, Debuggens und Testens stelle ich hier mal mein Problem rein.

Ich arbeite unter Windows 7 und XAMPP mit PHP 5.6. Lokal ist bei mir unter sw5.localhost eine Shopware 5 Installation (CE) vorhanden, die problemlos funktioniert. Meine Anwendung, die auf die REST API zugreifen soll, läuft ebenfalls lokal unter der Domain kime.localhost. Es handelt sich hierbei um eine Symfonyanwendung.

Beides ist bereits zu Testzwecken auf einem Server installiert, wo alles problemlos funktioniert.

Ich verwende den Beispiel API Client auf cURL Basis von hier: http://community.shopware.com/Shopware-4-REST-API-verwenden_detail_989.html#Der_API_Client

Der API User ist lokal vorhanden und funktioniert bei direktem Zugriff über den Browser perfekt.

Ebenfalls kann ich curl von der Kommandozeile ausführen und erhalte ebenfalls bei /api/articles die Artikel.

Nur wenn ich aus meiner Symfonyapplikation per cURL auf die API zugreife, bekomme ich ein “Invalid or missing auth”. Nach einigem Debuggen habe ich festgestellt, dass in der Auth-Komponente von SW5 ein leerer realm-String ankommt, wodurch das gesamte Auth verworfen wird und die bekannte Meldung zurückkommt.

Daraufhin habe ich den Realm-String testweise hardcoded ins Auth gebracht. Am Ende stimmt jedoch dann ein Prüfstring nicht, wodurch dann wieder die bekannte Meldung geworfen wird.

Testweise habe ich eine alternative Lib (Guzzle) verwendet, welche jedoch das gleiche Ergebnis bringt.

Hat irgend jemand eine Idee, wo hier das Problem liegt?

 

Windows 7 und Xampp und Shopware funktioniert nicht so richtig.

Ist auch offiziell nicht von Shopware supported.

Wir hatten da auch mal Probleme mit. Das Problem war, dass die Pfadgenerierung bestimmter Funktionen innerhalb dieser Umgebung fehlerhafte Werte lieferte.

Wo an welcher Stelle weiß ich nicht mehr genau (ist damals bei irgendeineme Update aufgeschlagen).

Empfehlung: Mit virtualBox und vagrant die lokale Umgebung austauschen:

https://developers.shopware.com/developers-guide/vagrant-phpstorm/

Jup, unter Linux geht das problemlos, habe ich auch getestet. Gibt auch noch andere Schwierigkeiten unter Windows, aber das System ist nunmal drauf und derzeit gibts an dem PC nur WLAN. Da hat Linux seine Probleme mit den AVM USB-Sticks.

Vagrant und Co habe ich ebenfalls getestet. Geht wunderbar, bis auf:

  • fehlender Command Line Tools Support in PhpStorm
  • UnitTesting schwierig, wenn ich mich recht erinnere
  • CLI Commands müssen über SSH laufen und müssen eingetippt werden, Debugging schwierig

Naja, in paar Monaten hängt dann ein Kabel am PC, dann kommt Linux drauf bzw. wirds ein Multibootsystem. Dann gibts die Probleme nicht mehr. Windows 10 machts übrigens auch nicht besser, das war vorher drauf.

Hat sonst keiner ne Idee warum die Authentication so verstümmelt wird?