AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Mit Rest-Komponenten auf Shopware-API zugreifen
Thema durchsuchen
Ansicht
Themen-Optionen

Mit Rest-Komponenten auf Shopware-API zugreifen

Offene Frage von "sahimba"
Ein Thema von Guido R. · begonnen am 1. Aug 2016 · letzter Beitrag vom 12. Feb 2017
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#1

Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 1. Aug 2016, 19:01
Hallo !
Ich habe mir eine Testumgebung mit Shopware 5.X geschaffen und möchte auf dessen Rest Schnittstelle zugreifen.
Dazu habe ich einen Benutzer mit den entsprechenden Rechten angelegt. Im Webbrowser erhalte ich, nach Eingabe von Username und dem von Shopware erstellten Key, für die entsprechende Adresse (z.B. meinshop.de/api/articles) das erwartete Ergebnis im JSON-Format.

Unter Delphi komme ich mit den REST Client Komponenten aber an der Authentifizierung nicht vorbei.
Gleiches gilt für den Rest Debugger. Auch dort erhalte ich als Antwort nur :
Code:
{
  "success":false,
  "message":"Invalid or missing auth"
}
egal welche Einstellungen ich auch für die Authentifizierung probiert habe.

Hat dies bereits jemand zum laufen gebracht? Für etwas Hilfe wäre ich hier sehr dankbar!

Guido
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#2

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 1. Aug 2016, 20:19
Schau mal hier, vielleicht hilft ja das weiter. Ist zwar nur von Shopware 4.
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#3

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 10:23
Also, der Doku zu Folge wäre rein garnichts zu beachten,
https://developers.shopware.com/deve...-in-your-own-a
https://developers.shopware.com/deve...the-api-client
aber sowas schonmal probiert? (hilft aber scheinbar nur, wenn PHP als CGI eingebunden ist)
http://internet-marketing-dresden.de.../vorbereitung/ > Probleme mit der Authentifizierung mit der REST API

und
http://www.delphipraxis.net/171695-z...-idhttp-3.html
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#4

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 14:09
Hallo !

Die Anleitung von Franke OM hatte ich im Prinzip schon umgesetzt. Auch bei einem Strato vServer ist
Code:
RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}]
erforderlich um überhaupt Zugriff auf die API zu bekommen.
Selbst wenn ich nur den Rest-Debugger verwende (URL, Ressource "articles", Authentifizierung "Basic" mit Username und Key) erhalte ich "Invalid or missing auth".
rufe ich die selber URL/articles auf und bestätige mit Username und Key, so erhalte ich eine korrekte Antwort...

In dem Beitrag hier auf der DP wird darauf verwiesen, dass es sich bei der Authentifizierungsmethode um "Digest" handelt. Wie könnte ich das denn mit den Rest-Komponenten umsetzen?
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#5

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 14:11
Schalte doch mal einen Proxy wie Fiddler dazwischen.
Damit kannst Du Dir Anfrage und Antwort des Browsers und Deines Programms im Klartext anzeigen lassen. Auf diese Weise kommt man so einem Problem gut auf die Spur.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von Guido R.
Guido R.

Registriert seit: 5. Jul 2007
141 Beiträge
 
Delphi 12 Athens
 
#6

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 16:39
Fiddler war schonmal eine gute Idee, insofern dass es bestätigt hat, dass es sich um eine Digest-Auhorization handelt...
Code:
No Proxy-Authorization Header is present.

Authorization Header is present: Digest username="api",realm="Shopware REST-API",nonce="d7cbb7df02fd50d7c3212ab40e4e5396",uri="/shopware/api/articles",cnonce="8f18815a16791289452285734f17210a",nc=00000002,algorithm=MD5,response="a523ab46510c967397f2638b2bc4987c",qop="auth",opaque="d75db7b160fe72d1346d2bd1f67bfd10"
Nur wie bekomme ich das jetzt den Rest-Komponenten beigebracht ???
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#7

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 16:47
Du müsstest bei Fiddler bei Deinem Web-Browser mindestens zwei Requests sehen. Zuerst fragt der Web-Browser OHNE Authentifizierungsdaten an. Er bekommt dann eine Antwort mit dem Statuscode 401, aber auch mit einem vom Server erzeugten Wert. Diesen verfuddelt der Client dann mit Benutzername und Passwort (ala MD5(username+';'+servervalue+';'+password) ) und sendet das dann als Anmeldung zurück.

Diesen Ablauf wirst Du mit den REST-Komponenten nachbauen müssen. Die OAuth-Geschichten zum Beispiel sind ja auch ein Pingpong zwischen Client und Server. Ich würde mal schauen, ob man im Netz zum Beispiel für PHP oder dgl. ein paar Beispiele findet. Ich habe den Wikiedia-Artikel nur überflogen, aber das scheint lediglich eine Fleißaufgabe zu sein, da alle Algorithmen in Delphi vorhanden sind.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Daniel
(Co-Admin)

Registriert seit: 30. Mai 2002
Ort: Hamburg
13.920 Beiträge
 
Delphi 10.4 Sydney
 
#8

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 17:18
https://evertpot.com/223/

Das sieht ganz gut aus.
Daniel R. Wolf
mit Grüßen aus Hamburg
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.056 Beiträge
 
Delphi 12 Athens
 
#9

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 2. Aug 2016, 17:21
Zitat:
No Proxy-Authorization Header is present.
Das klingt doch nach dem Grund, warum es nicht mit Proxy-Authorization geht?
Der kann den Header nicht mehr setzen, da der Header schon vorhanden und gesendet ist.

Es klingt zumindestens nach dem einen viel zu beliebten Problem in der PHP-Welt.
Zitat von x-beliebiges Beispiel:
Warning: Cannot modify header information - headers already sent by (output started at /some/file.php:12) in /some/file.php on line 23
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Mit Rest-Komponenten auf Shopware-API zugreifen

  Alt 3. Aug 2016, 07:34
Bei den Indys muss man Digest explizit einschalten. Ich kann mal nachschauen, wenn ich im Büro bin.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz